.jar Packen

SirHenryMorgan

Neues Mitglied
Wir haben im Unterricht mit Java bekonnen und würde ganz gern wissen wie ich
meinen Quellcode in eine für andere ausführbare Datei packe (Ohne JDK)

[JAVA=1]
import java.io.*; //Importiert die Java Klasse der Ein- und Ausgabe
public class SchuelerFertig //Made by Kevin Röhr (BXN-1 2010)

{
public static void main(String argv[])throws IOException

{
String str, str1, str2, str3;
double A, B=1, C, X, Y, Z, S1, S2, S3, SG; //Kommawerte
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));

System.out.println(" ");
System.out.println("**********************************************************************");
System.out.println("**********************************************************************");
System.out.println("****************** Programm Klassensprecherwahl ******************");
System.out.println("**********************************************************************");
System.out.println("**********************************************************************");

while (B!=2) //Schleife zum Beenden oder Neustarten des Programmes
{

System.out.println(" ");
System.out.println(" ");

System.out.print("Gib den ersten Namen ein: ");
str1=input.readLine(); //Eingabe des Namens
System.out.print("Stimmen für "+str1+": ");
str=input.readLine(); //Eingabe der Stimmenanzahl

try {
S1=Double.parseDouble(str);//Prüfung ob möglich
}

catch (NumberFormatException nfe )//Falls Fehler folgende Ausgabe
{
System.out.println (" ");
System.out.println ("Nur Ziffern erlaubt!");
System.out.println (" ");
System.out.println ("Programmende Klassensprecherwahl !");
S1=0;
System.exit(0);
}

System.out.print("Gib den zweiten Namen ein: ");
str2=input.readLine(); //Eingabe des Namens
System.out.print("Stimmen für "+str2+": ");
str=input.readLine(); //Eingabe der Stimmenanzahl

try {
S2=Double.parseDouble(str);//Prüfung ob möglich
}

catch (NumberFormatException nfe )//Falls Fehler folgende Ausgabe
{
System.out.println (" ");
System.out.println ("Nur Ziffern erlaubt!");
System.out.println (" ");
System.out.println ("Programmende Klassensprecherwahl !");
S2=0;
System.exit(0);
}

System.out.print("Gib den dritten Namen ein: ");
str3=input.readLine(); //Eingabe des Namens
System.out.print("Stimmen für "+str3+": ");
str=input.readLine(); //Eingabe der Stimmenanzahl

try {
S3=Double.parseDouble(str);//Prüfung ob möglich
}

catch (NumberFormatException nfe )//Falls Fehler folgende Ausgabe
{
System.out.println (" ");
System.out.println ("Nur Ziffern erlaubt!");
System.out.println (" ");
System.out.println ("Programmende Klassensprecherwahl !");
S3=0;
System.exit(0);
}

SG=S1+S2+S3 ; //Rechnung der Gesamtstimmen
X=S1*100/SG ; //Rechnung des ersten Prozentsatzes
Y=S2*100/SG ; //Rechnung des zweiten Prozentsatzes
Z=S3*100/SG ; //Rechnung des dritten Prozentsatzes

System.out.println(" ");
System.out.println(" ");
System.out.print(" ");
System.out.println("Es wurden insgesamt "+SG+" Stimmen abgegeben");
System.out.println(" ");

System.out.println(" "+str1+" hat mit "+S1+" Stimmen -> "+X+"% der Stimmen erreicht");
System.out.println(" "+str2+" hat mit "+S2+" Stimmen -> "+Y+"% der Stimmen erreicht");
System.out.println(" "+str3+" hat mit "+S3+" Stimmen -> "+Z+"% der Stimmen erreicht");
System.out.println(" ");

System.out.print(" ");

if (S3==S2)
{
if (S1==S2)
{
System.out.println(str2+" und "+str1+" und "+str3+" haben gewonnen!");
System.out.println("Alle haben gleich viele Stimmen!");
}
}

if (S1>S2)
{
if (S1>S3)
{
System.out.println(str1+ " hat die Wahl gewonnen!");
}
}

else if (S3==S1&&S1>S2)
{
System.out.println(str1+" und "+str3+" haben gewonnen!");
}

if (S2>S1)
{
if (S2>S3)
{
System.out.println(str2+ " hat die Wahl gewonnen!");
}
}

else if (S1==S2&&S1>S3)
{
System.out.println(str2+" und "+str1+" haben gewonnen!");
}

if (S3>S2)
{
if (S3>S1)
{
System.out.println(str3+ " hat die Wahl gewonnen!");
}
}

else if (S3==S2&&S2>S1)
{
System.out.println(str2+" und "+str3+" haben gewonnen!");
}

System.out.println (" ");
System.out.println ("**********************************************************************");

System.out.print("Programm neu starten? Ja (1) oder Nein (2) ");
str=input.readLine(); //Eingabe ob Neustarten soll oder nicht

try {
B=Double.parseDouble(str);//Prüfung ob möglich
}
catch (NumberFormatException nfe )//Falls Fehler folgende Ausgabe
{
System.out.println (" ");
System.out.println ("Nur Ziffern erlaubt!");
System.out.println (" ");
System.out.println ("Programmende Klassensprecherwahl !");
S3=0;
System.exit(0);
}
System.out.println ("**********************************************************************");
}

System.out.println(" ");
System.out.println("Programmende Klassensprecherwahl !");
System.exit(0);

}

}
[/code]
 

Haave

Top Contributor
Was meinst du mit "ohne JDK"? Dass du selbst für die Erstellung kein JDK brauchst oder dass andere Leute, die die JAR ausführen, kein JDK benötigen? Ersteres wird wohl schlecht gehen, weil du das JDK zwingend brauchst, um überhaupt kompilieren zu können. Die Leute, denen du die JAR gibst, benötigen das JRE (Java Runtime Environment) zum Ausführen. (Das JRE ist im JDK enthalten, wenn du also das JDK hast, hast du automatisch schon das JRE.)

Informationen zum Thema JAR-Archiv erstellen findest du hier im Forum zuhauf; hier nur mal zwei FAQ-Einträge:
http://www.java-forum.org/spezialthemen/13787-jar-archiv-erstellen.html
http://www.java-forum.org/spezialthemen/18384-6-varianten-java-programme-starten-jar-bat-exe-cd.html

Ich denke aber nicht, dass es für einen Anfänger schon so viel Sinn ergibt, die kleinen Programme, die man zu Beginn schreibt, schon als JAR zu verteilen. Meist schlägt man sich schon genug damit herum zu verstehen, warum der Java-Compiler meckert und wie man überhaupt auf der Kommandozeile ein Programm zum Laufen kriegt (meine Erfahrung).
 

L-ectron-X

Gesperrter Benutzer
Mit welchem Editor arbeitet ihr?

Wenn du Konsolenprogramme in eine Jar-Datei steckst, werden diese zwar durch Doppelklick von der VM gestartet, es wird aber im Standardfall nichts zu sehen sein, weil Jar-Dateien mit Javaw verknüpft sind.
Javaw ist der Interpreter für Programme mit GUI, eine Konsolenausgabe wird von ihm unterdrückt.

Um eine Konsolenanwendung zu starten, muss dann auf der Kommandozeile sinngemäß folgendes eingegeben werden:
Code:
java -jar MeinJar.jar
 

SirHenryMorgan

Neues Mitglied
Mit welchem Editor arbeitet ihr?

Wenn du Konsolenprogramme in eine Jar-Datei steckst, werden diese zwar durch Doppelklick von der VM gestartet, es wird aber im Standardfall nichts zu sehen sein, weil Jar-Dateien mit Javaw verknüpft sind.
Javaw ist der Interpreter für Programme mit GUI, eine Konsolenausgabe wird von ihm unterdrückt.

Um eine Konsolenanwendung zu starten, muss dann auf der Kommandozeile sinngemäß folgendes eingegeben werden:
Code:
java -jar MeinJar.jar

GENAU das was ich meinte, Java Editor, den aktuellsten von Oracle (ehem. Sun)
Das programmieren an sich liegt mir ziehmlich, das mit Try und der Schleife war mein Einfall,
also das bisherige, wie zB einen Bankautomat usw. bekomm ich auch noch hin,
nur sowas wie .jar hatten wir halt noch nicht,
bekommen wir auch erst in einem Monat oder zwei bei Objektorientierter Programmierung.
Danke für die Hilfe, ich denke ich lass mich in diesem Forum nieder...

Edit: Danke, es läuft, hab eine batch gemacht mit der man die Datei Aufrufen kann :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
H Warum kann man keine Parameter in die main-Methode packen? Java Basics - Anfänger-Themen 4
K .txt einlesen und in ein Array packen Java Basics - Anfänger-Themen 2
B drawLine in eine Schleife packen Java Basics - Anfänger-Themen 2
K Mehrere String.valueOf() kürzer schreiben / "packen"? Java Basics - Anfänger-Themen 2
M Best Practice Threadausführung in Methode packen Java Basics - Anfänger-Themen 5
T Array mit String, Zahlen in If Saetze packen Java Basics - Anfänger-Themen 3
F Bild in ein Runnable Jar File packen (eclipse) Java Basics - Anfänger-Themen 2
Z Datei auslesen und in 2dim Array packen. Java Basics - Anfänger-Themen 27
A JUnit Tests in Jar-Archiv packen Java Basics - Anfänger-Themen 2
L Jarfiles packen, wie geht's genau? Java Basics - Anfänger-Themen 12
E Dateien in ein JAR-Archiv packen Java Basics - Anfänger-Themen 2
M Erste Schritte Eingaben in ein Array packen Java Basics - Anfänger-Themen 5
K Bild auf Kreis packen Java Basics - Anfänger-Themen 2
S mehrere einzelne klassen in eine datei packen Java Basics - Anfänger-Themen 4
A Point in ArrayList packen Java Basics - Anfänger-Themen 15
H2SO3- textdatei in ausführbare jar packen Java Basics - Anfänger-Themen 4
B Clients aufsammeln und in JTable packen Java Basics - Anfänger-Themen 8
V Datenbank in eine Datei packen Java Basics - Anfänger-Themen 3
S .class in jar packen Java Basics - Anfänger-Themen 10
N Objekte in einen Vector packen oder nicht? Java Basics - Anfänger-Themen 3
J Ein Java-Programm in eine *.exe Datei 'packen' Java Basics - Anfänger-Themen 20
G string Array in eine Vector packen Java Basics - Anfänger-Themen 10
D Teile aus String in Array packen Java Basics - Anfänger-Themen 4
L array of objects in liste packen Java Basics - Anfänger-Themen 2
T Help! Kann Bilder nach Packen in ein jar-File nimmer finden! Java Basics - Anfänger-Themen 17
J Notwendige Classen ins JAR packen? Java Basics - Anfänger-Themen 7
U Vector in Array packen Java Basics - Anfänger-Themen 6
J Strings in Liste packen und speichern Java Basics - Anfänger-Themen 7
S externe lib´s in welchen ordner packen? Java Basics - Anfänger-Themen 6
G Verschiedene Datentypen in Vector packen und zurück Java Basics - Anfänger-Themen 3
X GIF-Datei in JAR-Datei packen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben