Java in exe

Status
Nicht offen für weitere Antworten.

kuhl

Mitglied
Gibt es eine Möglichkeit ein In Java geschriebenes Programm als exe datei umzuwandeln??? oder eine andere möglichkeit es ohne IDE zu starten???

Ich kann meine Java Programme alle nur mit einer IDE öffnen =( wnen ich sie jetzt z.b. in der Konsole öffnen will kommt auch eine Fehlermeldung.
Exception in thread "main" java.lang.NoClassDefFoundError: test/java

vll als kleine hilfe, wen ich jetzt ein Programm mit eclipse z.b. starte, dann habe ich in dem Ordner wo ich es speicher, einen unterordner "bin" und einen "src" und zwei dateien, einem ".classpath" und einmal ".project"
In dem Ordner "bin" ist dann die datei "Test.class" und in dem Ordner src die datei "Test.java"

Wie gesagt, ich will das Programm jetzt z.b mit zu einem Freund nehmen, der keine IDE hat aber die JRE installiert hat.
Geht das dann überhapt???
Gits vll sogar eine Möglichkeit das alles als asuführbare Dateien umzuwandeln???

thx for help
 
Die Suche hätte deine Frage beantwortet.
Exe funktioniert nur auf Windows, ist für java also ziemlich ungeeignet.
Du brauchst eine jar. Bei Eclipse geht das mit rechtsklick aufs Projekt -> export -> jar
 
kuhl hat gesagt.:
Gibt es eine Möglichkeit ein In Java geschriebenes Programm als exe datei umzuwandeln??? oder eine andere möglichkeit es ohne IDE zu starten???

Gibt es eine Möglichkeit die Forumregeln zu beachten und entsprechend in den FAQs zu lesen und/oder die Forum-Suche zu benutzen?

Antwort: Ja, gibt es. 😉
 
Ja das habe ich ja in der suche auch schonn gesehen, dann habe ich halt meine Jar datei, wenn ich die jetzt aber öffnen will, dann kommt wiederum eine Fehlermeldung:

Java Virtual Machine Launcher
Failed to load Main-Class manifest attribute from
C:\......

Und was soll ich jetzt machen???
 
Vieleicht nicht immer gleich auf finish klicken, sondern sich die Dialoge erstmal durchlesen :roll:
Wenn das eine ausführbare Jar ist, musst du eine Klasse mit main Methode angeben
 
Okay...also ganz von vorne...nehmen wir an ich will ein ganz normales Hello World Programms chreiben...nehm ich eclipse, schreibe meinen code GENAU so:

Code:
public class hallo {
	public static void main(String[] args) {
		System.out.println("Hello, world");
	}
}

dann geh ich auf das Projekt, so ein blauer topf oder so, rechtisklick --> exportieren
dann kommt ein neues Fenster da wähle ich "jar" datei aus, dann auf weiter...
dann ist da dieses bild:


dann auf weiter...

[img=http://img136.imageshack.us/img136/5206/bild2dq4.th.jpg]

auf weiter...

[img=http://img136.imageshack.us/img136/6213/bild3oe9.th.jpg]

dann auf "Fertigstellen"

so dann sieht meine .jar datei so aus:

[img=http://img150.imageshack.us/img150/4536/bild4jj6.th.jpg]

will ich die jetzt ausführen, kommt diese Fehlermeldung:

[img=http://img132.imageshack.us/img132/2383/bild5jv0.th.jpg]


Und ich kann NIRGENDS auf finish klicken....
und wie soll ich wo eine main Methode angeben???
 
Benutz KEINE DEUTSCHE ÜBERSETZUNG
Du kannst nicht auf finish klicken weil es 'fertig stellen' heißt, und du kannst keine Klasse mit main Methode angeben weil es 'Hauptklasse' heißt :autsch:
Klassen schreibt man übrigens groß
 
Ist etwas doof übersetzt: "Klasse des Eingangspunkts für die Anwendung auswählen" (im letzten Dialog vor "Fertigstellen").

Besser die englische Eclipse behalten 😉
 
kuhl hat gesagt.:
Das habe ich jetzt gemacht, aber wenn ich jetzt auf die jar datei klicke geht es trotzdem nicht

Was passiert denn stattdessen? Ich weiß nicht, was das Standardverhalten von Windows ist. Da du nur eine Ausgabe auf die Konsole machst und das Programm dann beendest, kann es sein, dass die Konsole gar nicht zu sehen ist. Also probier mal testhalber folgendes:

Öffne eine Konsole (cmd.exe) und gib den Befehl ein:
Code:
java -jar <jardatei>
Eventuell musst du für "java" den gesamten Pfad zu java.exe angeben.
 
Das Standardverhalten von Windows ist die Verlinkung des jars mit Javaw. Javaw öffnet kein Konsolenfenster.
 
Also wenn ich die Jar datei mit rechtsklick öffne, dann öffnet sich kurz ein konsolenfenster, aber geht sofort wieder zu, kann also nicts erkennen...

das was hupfdule gesagt hat geht auch nicht...wenn ich nur
Code:
java -jar hallo
eingebe

C:\test>java -jar hallo
Unable to access jarfile hallo

und mit kompletten Pfad:
C:\test>C:\Programm Files\Java\jre1.5.0_08\bin java -jar hallo
'C:\Programm' is not recognized as an internal or external command,
operable program or batch file.

ich weis echt net ehr weiter, weil es ist dumm immer eine IDE aufm rechner zu haben, dann kann ich miene progs nie jemand anderem geben =([/quote]
 
Wenn du ein jar-file via Konsole öffnest musst du die Extension mitangeben (sprich hallo.jar statt hallo).
 
Hey cool...das geht shconmal...THX

aber jetzt trotzdem noch eine frage =(
habe jetzt die Prog1Tools.IOTools in ein Programm mit eingebunden...wenn ich das Programm jetzt als jar datei exportiere und dan starte kommt zwar die Bildschirmausgabe doch dann wenn ich ja etas eingeben müsste kommt eine fehlermeldung, das er die Prog1Tools net gefunden hat, wie kann ich die da dann noch mit einbinden???
 
Argh, die IOTools, wie sie gehasst und verachtet werden ... :lol: 😉 .

Da hilft dir der FAQ-Beitrag aber weiter. Du musst ein Manifest erstellen, in dem du diese Klassen in deinen Classpath mitaufnimmst. Dieses Manifest musst du dann beim exportieren deinem jar "zuweisen" (kA wie das auf Deutsch heißt 😉 )
 
Hobbit_Im_Blutrausch hat gesagt.:
Argh, die IOTools, wie sie gehasst und verachtet werden ... :lol: 😉 .
Währ ja alles halb so wild, wenn nicht die meistens dieser tollen 'IOTools' von Info-Lehrern mit Java-Halbwissen erstellt worden währen und daher einfach schlecht sind :roll:
 
Wildcard hat gesagt.:
Hobbit_Im_Blutrausch hat gesagt.:
Argh, die IOTools, wie sie gehasst und verachtet werden ... :lol: 😉 .
Währ ja alles halb so wild, wenn nicht die meistens dieser tollen 'IOTools' von Info-Lehrern mit Java-Halbwissen erstellt worden währen und daher einfach schlecht sind :roll:

Es gibt irgendein Buch, dass solche IOTools auf CD mitliefert. Die machen halt Sachen wie z. B. einen Text von der Konsole einzulesen um den Einstieg für Anfänger "einfacher" zu gestalten. Denke mal, dass hier dieses Buch verwendet wurde. Gab schon mehrere hier die dieses Buch verwendet haben und ich bekomme immer mehr den Eindruck, dass dieses Buch großer Schwachsinn ist :roll:
 
also das ist eine zip datei. Ja ich habe das buch, die wurden auch auf CD mitgeliefert, ich kennhalt auch keinen anderen befehl der zahlen, strings usw. über die konsole einliest...
und wie erstelle ich ein manifest??? und wie weise ich das meinem classpath zu??? weil in der IDE funzt das ja, nur beim exportieren netmehr
 
doch...ich füge, wenn ich die Prog1Tools benutzen will, immer als Zip dem Projekt hizu und es funktioniert auch...
 
a) Manifest + Classpath => siehe FAQ
b) Von der Konsole lesen:
Code:
BufferedReader buffy = new BufferedReader(new InputStreamReader(System.in));
String line = buffy.readLine();
c) Aus dem String eine Zahl machen:
Code:
int zahl = 0;
try {
    zahl = Integer.parseInt(line);
}
catch (NumberFormatException e) {
    System.out.println("Keine Zahl eingegeben");
}
d) jegliche Art von Fragen damit man solche "Vereinfacherungen" nicht verwenden muss:
1. FAQ
2. Forum-Suche
3. Google
4. Fragen

😉
 
Jup, bei Double wäre es dann halt

Code:
double dblwert = Double.parseDouble(line);

Das ganze natürlich auch in einem try-catch Block, damit du auch reagieren kannst, wenn jemand kein Double eingibt. Was noch zu bemerken wäre, ist dass ein double als Einleitung für die Nachkommazahl einen Punkt verwendet. D. h. du musst in der Konsole

2.75

und darfst nicht

2,75

eingeben.

Möchtest du dennoch eine Eingabe mit Komma anstelle Punkt zulassen, musst du das Komma vor dem parsen in einen Punkt umwandeln. Das geht z. B. so:

Code:
line = line.replace(',', '.');
 
Gut, thx for help...das dürfte es erstmal gewesen sein...wenn noch fragen da sind melde ich mich wieder...

😀 😀
 
Und da bin ich auh schon wieder =(
Habe in der suche gesucht und auch was gefunden, aber das funktionier bei mir nicht =(

Thread

ich habe das dann auf meine Datei übernommen, aber er findet die Prog 1 tools immer och nicht...kann mir das vll einer mal schreiben???

is ja nur eine zeile...

Also miene Jar datei liegt unter "c:\test\test.jar"

Die Prog1Tools liegen auch unter "c:\test\Prog1Tools.zip"

Wenn ich das zip Archiv entpackt habe wären da die Ordner "META-INF" und "Prog1Tools" in dem Ordner Prog1Tools sind dann die "*.class" Dateien. Davon brauche ich nur eine die "IOTools.class"

Weil ich starte mein Programm dann ja mit:
import Prog1Tools.IOTools;

Was muss ich dann in die bat datei schreiben damit das mit den Prog1Tools läuft???
 
Ja die FAQ hab ichs chonn gelesen, aber davon geht nichts...also wenn ichs richtig verstanden habe...

Also miene classpath datei sieht so aus:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="C:/Borland/JBuilder2005/IMPORTS/Prog1Tools.zip"/>
<classpathentry kind="output" path="bin"/>
</classpath>

eine Manifest habe ich garnicht gefunden...nur in dem .zip Archiv von den Prog1Tools...
Und die sieht so aus:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_06-b05 (Sun Microsystems Inc.)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben