Newsgroup: it.comp.java
Titolo: creazione di file eseguibili senza compilatori

Qualcuno sa se č possibile compilare i proprio programmai java e fare in
modo di eseguirli su una macchina dove non esiste  nč JVM nč un compilatore
java.
Molto importante sarebbe per me creare un eseguibile scritto in java che
giri sotto unix.

 giri sotto unix.
Istalli una java virtual machine sotto Unix e sei a posto.

> Istalli una java virtual machine sotto Unix e sei a posto.
Il problema e che non posso installare il JVM su sistema da me interessato
:-(

> Il problema e che non posso installare il JVM su sistema da me interessato
Allora nisba...



non puoi, ma mi sembra che esistano dei programmini che convertono
il tuo programma java in codice nativo, ma perdi la portabilitą e
non li ho mai provati, quindi non so dirti se funzionano.
Davide

 ha scritto nel messaggio
news:tAIBb.186810$hV.70...@news2.tin.it...

mi sembra di aver letto in questo newsgroup di qualcuno
che ha messo la jvm in un cd e la usava da li...
devo ancora interessarmi, non ti so dire di piů.
cerca nei messaggi vecchi. non piů di un mese fa comunque.
gian

 cerca nei messaggi vecchi. non piů di un mese fa comunque.
Io l'ho fatto: CD con un applicazione Java che gira sia sotto Linux che
sotto Windows, senza bisogno di installare niente dato che la JVM e' gia'
installata sul CD. Sotto Windows non da' particolari problemi. Per Linux
bisogna fare un giro un po' strano, dato che il JRE (per lo meno quello di
Sun) si aspetta che la directory bin sia scrivibile (cosa ovviamente
impossibile in un CD). Ho risolto, ma non mi soddisfa completamente,
copiando il JRE nella directory temporanea del sistema e cancellandolo
al termine dell'esecuzione dell'applicazione.
-- 
Lucio Benfante
Java User Group Padova: 
http://www.jugpadova.it
Brainbench MVP for Java 1: 
http://www.brainbench.com
MyTranscript: 
http://www.brainbench.com/transcript.jsp?pid=167064

 giri sotto unix.
A parte il fatto che, come ti hanno già detto, puoi mettere il jre che c'é
apposta insieme all'sdk su un cd. Al limite lo copi sul sistema ospite e
quando hai finito lo cancelli.
Cmq mi pare che nel gcc ci sia gcj o qualcosa del genere che compila codice
Java. 
Non ricordo esattamente cosa supporta o cosa no, dai un'occhiata al sito
GNU. Mi pare proprio che non supportasse Swing il che mi aveva fatto
desistere.
Cmq se l'applicazione è a riga di comando potrebbe essere una soluzione.
Ciao
Matteo
-- 
chi sono e soprattutto chi non sono:
http://www.ilnomedeldominio.it
un piccolo programma per studenti universitari:
http://inutility.ilnomedeldominio.it/imsv/

Il mio problema piu' grande č che faccio tutto da remoto e non ho neanche
tanto spazio disponibile :-(
gcj non c'č sul sistema solaris su cui sto', ma tra' un po' sara' sostituito
con una Debian spero che li' sara' supportato...


Il problema e' il secondo punto,
ho infatti usato un programmino (exe4j se non ricordo male) che ti prende
una o + classi java e te le trasforma in eseguibili (.exe).
Non so se l'hanno messo a punto anche x unix, puoi provare a cercare.
Mauro.

 Sun) si aspetta che la directory bin sia scrivibile 
Che cosa strana... dopotutto non č detto che chi esegue la JVM abbia i 
permessi di scrittura su questa directory (anzi per lo piů non ce li ha)
L.



Si', e' strano...e anzi effettivamente e' vero che normalmente non li si
ha. Probabilmente mi sono dato una spiegazione un po' frettolosa.
Ti spiego la prova che ho fatto:
1. Ho installato il JRE (indichiamolo la directory con $JRE)
2. ho tolto tutti i permessi di scrittura, per simulare la situazione di
un CD-ROM:
chmod -R -w $JRE
...in questo modo non funzionava piu', dando un errore tipo "permission
denied".
3. Ho ridato i permessi di scrittura solo alla directory bin:
chmod -R u+w $JRE/bin
...e tutto andava.
Che ci sia qualcosa con il setuid impostato? Io non sono riuscito a
trovarlo.



Sul sito di di exe4j ho trovato anche la versione unix :-)
penso di aver risolto il problema...

Manuel ha scritto:

Allora la soluzione esiste e si chiama Eclipse+MinGW (per windows ti 
consiglio questa versione patchata 
http://www.thisiscool.com/gcc_mingw.htm
), in Linux naturalmente non ti 
serve MinGW, dato che il compilatore GCJ viene installato con il GCC.
Proprio in questi giorni sto provando sia sotto windows sia sotto Linux 
(Fedora Core 1) e finora sono riuscito a compilare diversi esempi, tutto 
perfettamente funzionante.
Il supporto alle JDK non č totale (vedi 
http://gcc.gnu.org/java/
) ma ci 
siamo quasi. Per lo sviluppo delle GUI ti consiglio di usare le SWT 
(Standard Widgets Toolkit) incluse in Eclipse (lo sviluppo delle 
AWT/Swing non č completo), sono supportate pienamente da moltissimi OS 
(Win, Linux, Solaris, AIX, HPUX, OSX ecc.). Per Linux esistono le 
librerie per GTK2 e Motif non per KDE (problemi di licenza).
Per creare l'ambiente di sviluppo devi leggerti un po' di cose ma poi 
con Eclipse riesci ad automatizzare quasi tutto.
Ciao