2010-04-26 13 views
6

Devo masterizzare un'applicazione Java su un CD. Questa applicazione deve essere eseguita su tutti i PC Windows senza alcuna installazione (anche JRE non dovrebbe essere installata) prima.Come rendere l'applicazione Java autonoma?

+0

desktop? – Xorty

+1

Sto iniziando a pensare che sia essenzialmente uguale a: http://stackoverflow.com/questions/2258932/embed-a-jre-in-a-windows-executable Entrambi riguardano la distribuzione di un'app Java come programma di avvio .exe di Windows. (con JRE incluso). – Jonik

+1

Non sono concentrato su come ottenere un file .exe. Voglio solo gestire il jre senza jdk. L'ho risolto con un file batch e startet con il comando jdk/java.exe bla.jar – rakete

risposta

5

Immagino che si possa copiare anche il JRE dalla cartella dei programmi sul CD. Quindi, aggiungi uno script batch per utilizzare il JRE "locale" per avviare la tua app. Questo dovrebbe essere sufficiente, ma non so se questo funziona con tutte le versioni di Windows.

+0

Il problema non è Windows, che eseguirà felicemente un eseguibile PE Win32 da qualsiasi luogo. Ma il JRE fa ulteriori presupposti? – MSalters

4

Dovresti raggruppare jre su disco e creare script di avvio. Se non si è soddisfatti dei semplici script di avvio batch/shell, è possibile utilizzare qualcosa come JLauncher per creare un eseguibile "reale".

+1

+1. Se uno strumento commerciale è ok, install4j è utile per creare un launcher .exe (con JRE in dotazione) per le app Java. Vedi ad esempio questa risposta: http://stackoverflow.com/questions/2258932/embed-a-jre-in-a-windows-executable/2258946#2258946 – Jonik

+0

Ah, avrei dovuto consigliare exe4j dalla stessa azienda invece: http : //www.ej-technologies.com/products/exe4j/overview.html Non c'è molta differenza dal punto di vista tecnico (quando si tratta di creare launcher), ma costa molto meno di install4j. – Jonik

1

Basta masterizzare un jre sul cd e avviare l'applicazione all'interno di uno script batch, che imposta CLASSPATH e le variabili JAVA_HOME che puntano al tuo jre.

3

Il modo più semplice sarebbe includere un'installazione Java decompressa sul CD e utilizzarla per eseguire l'applicazione.

Esistono AFAIK solo 2 compilatori "Java to exe" ancora sul mercato, uno dei quali (Excelsior JET) è piuttosto costoso e l'altro (GCJ) non funziona su Programmi che utilizzano AWT o Swing.

+0

Inoltre (almeno) install4j fa "Java to exe". Per quanto ne so, è il migliore degli strumenti di installazione/avvio Java. – Jonik

+1

@Jonik: il software a cui Michael Borgwardt si riferiva sono i compilatori, che creano codice nativo da sorgenti Java. install4j crea un exe-launcher per l'avvio di Java-Bytecode con la giusta JVM. Questo dovrebbe essere sufficiente nella maggior parte dei casi, ma non è realmente il "Java to exe" che Michael aveva in mente. – Mnementh

+0

@Mnementh, ah, grazie per il chiarimento. Guardando la domanda originale, non penso che l'OP abbia bisogno di un vero "codice Java-to-native". – Jonik

4

JSmooth può fare il trucco con il raggruppamento JRE o il prompt di installazione Java, ed è gratuito. È inoltre possibile impostare le proprietà di JVM

Problemi correlati