Ho cercato tutto il giorno di trasformare la mia applicazione javafx in un file jar. Sto usando Java 1.7 aggiornamento 7.Intellij Javafx artefatto: come si fa?
Oracle ha some information, ma sembra tutto sparsi dappertutto. IntelliJ è quasi facendo il lavoro, ma ottengo il seguente errore:
java.lang.NoClassDefFoundError: javafx/application/Application
che sembra dire che ho bisogno di dire java dove il jfxrt.jar è ... Se posso aggiungere questo barattolo al mio informazioni classpath per la build manifesta in IntelliJ - ctrl + shift + alt + s -> Artefatti -> scheda layout di uscita -> Class Path, allora ottengo un altro errore:
Could not find or load main class com.downloadpinterest.code.Main
sembra strano dover includere jfxrt.jar in il mio percorso di classe però ...
Ho provato anche a creare uno script ant, ma mi sento come IntelliJ è 90 % del modo in cui ci sono - e ho solo bisogno di un po 'di aiuto per capire perché ho bisogno di includere jfxrt.jar, e perché la mia classe principale non viene trovata (suppongo di doverlo aggiungere al classpath in qualche modo ?).
Qualcuno potrebbe indurmi a capire cosa sta succedendo? Avevo una GUI base prima della quale funzionava bene, ma JavaFX sembra complicare la vita!
Ho notato che quando faccio questo Intellij semplicemente aggiunge una riga nel manifest jar che ha il classpath (non raggruppa jfxrt nel mio jar). Sembra che questo sarà un problema quando altri scaricano il mio programma e provano ad usarlo - ad esempio alcune persone hanno mac, alcuni linux, alcune finestre e il percorso di jfxrt.jar sarà diverso per persone diverse. Sai comunque per risolvere questo problema? –
Ho aggiornato la risposta per coprirlo. –
Grazie, ho chiesto a oracle se c'è un esempio completo di formica ovunque, mentre sono riuscito a creare solo lo script ant. Ne posterò uno se ne trovo uno o riesco a crearne uno! –