Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Java - Project compilieren (https://www.delphipraxis.net/42552-java-project-compilieren.html)

geisi 20. Mär 2005 18:54


Java - Project compilieren
 
wie kann ich aus meinem Java Project eine .exe datei erstellen?

Jelly 20. Mär 2005 18:58

Re: Java - Project compilieren
 
Gar nicht. Java läuft auf ner Virtual Machine, die auf jedem OS installiert werden kann. Java erzeugt keine EXE Dateien.

geisi 20. Mär 2005 19:01

Re: Java - Project compilieren
 
das weiß ich!
aber man kann sich trotzdem über die eingabeaufforderung das project für das os compilieren oder?

Bernhard Geyer 20. Mär 2005 19:21

Re: Java - Project compilieren
 
Zitat:

Zitat von Jelly
Gar nicht. Java läuft auf ner Virtual Machine, die auf jedem OS installiert werden kann. Java erzeugt keine EXE Dateien.

Stimmt nicht ganz.
Es gibt auch Compiler die ganz normale Exe's oder DLL's erstellen können, die auch einem Windows ohne installierte Java-Runtime lauffähig sind. Diese Compiler sind jedoch nicht ganz billig...

Alexander 20. Mär 2005 19:22

Re: Java - Project compilieren
 
Selbst wenn, musst du immer die VM installieren...

MagicAndre1981 20. Mär 2005 19:23

Re: Java - Project compilieren
 
mit
Code:
javac
comlieren dann hast du die .class-Dateien. Und dann mit
Code:
java Klassenname
das Programm starten.

André

P.S.:Besorg dir 'ne IDE da sind die Befehle schon integriert.

Bernhard Geyer 20. Mär 2005 19:28

Re: Java - Project compilieren
 
Zitat:

Zitat von Alexander
Selbst wenn, musst du immer die VM installieren...

Wenn Du mich meinst: Nein, du brauchst keine VM mehr! Alles was zum laufen benötigt wird, wird in die Exe/DLL-Kompiliert und es sind nur noch Win32-Abhängigkeiten vorhanden. Jedoch wird die Exe/DLl schnell 10 MB groß.

leddl 20. Mär 2005 19:34

Re: Java - Project compilieren
 
Hab bei Google das hier gefunden. Wäre vielleich ne Übergangslösung, bis du das richtige findest.
Möglich ist es auf jeden Fall, nur wie Bernhard schon gesagt hat, werden solche Compiler wohl nicht gerade billig sein. Aber vielleicht stößt du noch durch Zufall auf eine kostenlose Möglichkeit. Man weiß ja nie...

@André:
Soso, und damit erhält man dann also ne ausführbare exe? :gruebel: Na klaro! ;)

geisi 20. Mär 2005 19:37

Re: Java - Project compilieren
 
könnte mir jemand ein beispiel geben, wie ich dass mit javac und java zu einer .exe compiliere?

leddl 20. Mär 2005 19:49

Re: Java - Project compilieren
 
Ich könnte es versuchen, das wäre aber ziemlich abenteuerlich, denn so geht es nicht. :lol:
"javac" interpretiert deinen Code und "java" führt die erstellten Dateien aus. Nix da mit exe.
Allerdings sollte man eine .jar-Datei doch eigentlich direkt ausführen können, oder irre ich mich da? Bin mit Java nich ganz perdu. ;) Und die solltest du mit dem Java-Compiler erstellen können.

MagicAndre1981 20. Mär 2005 19:53

Re: Java - Project compilieren
 
@Leddl
Du hast schon recht, dass damit keine exe erstellt wird. Ich hab nur compilieren gelesen. Ein Programm zum erstellen von Exe-Dateien ist : exe4j

André

Robert_G 20. Mär 2005 19:58

Re: Java - Project compilieren
 
Zitat:

Zitat von leddl
"javac" interpretiert deinen Code und "java" führt die erstellten Dateien aus. Nix da mit exe.

ts... ts...
Java besitzt schon seit Jahren einen JIT Compiler, der seit dem SDK 1.4 sogar ziemlich gut ist. ;)
Dass komplett durchkompilierte Binaries sehr schnell sehr groß werden überascht mich eigentlich überhaupt nicht.
Wenn du die extreme Anzahl von Basisklassen und Technologien einer solchen VM (zum Beispiel Reflection) in ein Binary stopfen willst, muss da nunmal tierisch viel rein. :mrgreen:
Das ist nicht mit dem bisschen WinApi->VCL in einer 1MB großen Delphi Echse vergleichbar. (Der Vergleich wäre für beide Seiten ungerecht ;) )

Über den Sinn von solchen Abenteuern lässt sich streiten...

leddl 20. Mär 2005 20:10

Re: Java - Project compilieren
 
Ah OK, das kannte ich nich. Is mit 59$ sogar noch relativ günstig. ;)
Ist die Trial Version in irgendeiner Weise beschnitten, außer das Registrierungshinweise kommen?

Achja, hier ein Link dazu: * Klick *

@Robert_G:
Was heißt da "ts... ts..."? Versteh ich im Hinblick auf den von dir zitierten Textteil nicht.
Oder willst du behaupten, daß man mit "javac" und "java" doch ne exe erstellen kann? :gruebel:

Ich benutze selbst zwar nur sehr selten Java, käme da aber wohl auch nicht unbedingt auf die Idee, daraus ne exe zu machen. Aber geisi hat halt nunmal gefragt, wie er das mit diesen Befehlen machen kann, und das geht meines Wissens eben nicht. Nichtsdestotrotz will er aber halt eine haben. Über Sinn und Zweck läßt sich natürlich streiten...

MagicAndre1981 20. Mär 2005 20:17

Re: Java - Project compilieren
 
Robert bezieht sich auf interpretiert.

leddl 20. Mär 2005 20:22

Re: Java - Project compilieren
 
Aha, OK. Und was is daran falsch? Schließlich ist das doch genau das, was der Java-Compiler macht. Ich hab mich ja nich abfällig geäußert oder so. War ja nur ne Erklärung. Oder lag ich wirklich falsch?

MagicAndre1981 20. Mär 2005 20:24

Re: Java - Project compilieren
 
JAVA wird nicht interpretiert, sondern zur laufzeit in Maschinencode übersetzt (wenn du eine Funktion aufruftst). Daher der Name Just In Time-Compiler.

André

leddl 20. Mär 2005 20:30

Re: Java - Project compilieren
 
Ähm, jetzt muß ich mich mal ganz dumm stellen. :gruebel: Wie nennt man es denn dann, wenn man per javac seinen Code (.java) in .class verändert? Bei uns nannte sich das "interpretieren". Klar, daß die Compilierung erst auf dem Zielsystem stattfindet. Aber AFAIK muß Code vor dem Asuführen eben interpretiert werden.

Alexander 20. Mär 2005 21:10

Re: Java - Project compilieren
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Alexander
Selbst wenn, musst du immer die VM installieren...

Wenn Du mich meinst: Nein, du brauchst keine VM mehr! Alles was zum laufen benötigt wird, wird in die Exe/DLL-Kompiliert und es sind nur noch Win32-Abhängigkeiten vorhanden. Jedoch wird die Exe/DLl schnell 10 MB groß.

Bezog sich eigentlich nicht auf deinen Post (merkwürdigerweise hat er mir keine Meldung beim Posten gezeigt, dass du schon
geschrieben hast...)
Jedenfalls müsste dann ja in der EXE eine Art VM sein. Denn ohne funktioniert es einfach nicht.

Bernhard Geyer 21. Mär 2005 07:14

Re: Java - Project compilieren
 
Zitat:

Zitat von Alexander
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Alexander
Selbst wenn, musst du immer die VM installieren...

Wenn Du mich meinst: Nein, du brauchst keine VM mehr! Alles was zum laufen benötigt wird, wird in die Exe/DLL-Kompiliert und es sind nur noch Win32-Abhängigkeiten vorhanden. Jedoch wird die Exe/DLl schnell 10 MB groß.

Bezog sich eigentlich nicht auf deinen Post (merkwürdigerweise hat er mir keine Meldung beim Posten gezeigt, dass du schon
geschrieben hast...)
Jedenfalls müsste dann ja in der EXE eine Art VM sein. Denn ohne funktioniert es einfach nicht.

Genau. die VM ist in die Exe kompiliert. Zu finden ist das Produkt unter http://www.excelsior-usa.com/home.html

PRehders 21. Mär 2005 07:48

Re: Java - Project compilieren
 
Hallo,
da wird's langsam etwas verwürfelt...

"javac" (oder ein anderer Java-Compiler) compiliert(!) den Quellcode, und zwar in eine ausführbare Datei, aber eben nicht in eine .exe, sondern in Maschinencode für eine virtuelle Maschine (die VM).
Dieser Maschinencode wird dann normalerweise interpretiert (von der VM, die ein normales Programm des Wirtscomputers ist, also eine .exe bei Windows).
Um das Interpretieren etwas schneller zu machen, wird bei einigen Systemen der einmal interpretierte Code als Maschinencode der Wirtsmaschine zwischengespeichert, damits beim nächsten mal schneller geht. Das ist der Just-In-time-Compiler (JIT).
Wenn du nun ein Javaprogramm als exe haben möchtest, dann ginge das zwar mit Spezieltools, aber das bringt nicht viel; einerseits sind die VM schon ziemlich schnell, auf der anderen Seit wird ohnehin meist der JIT eingesetzt.
Und mehr kann ein solcher Java-nach-Exe-Compiler auch nicht tun, als den maschinencode erzeugen und ein riesiges Runtime-Modul dazulinken, den Java und die darunterliegenden Strukturen sind nunmal dynamisch und erst die Laufzeit zeigt, was überhaupt benötigt wird. Also muss quasi die VM dazugelinkt werden!

Bringt meiner Meinung nach nicht viel...

Bis dann

Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz