FONForum
http://www.fonforum.org/

Kako da napravim izvrsni fajl u Javi?
http://www.fonforum.org/viewtopic.php?f=8&t=3739
Stranica 1 od 1

Autoru:  drasko82 [ 26.04.2005. 18:09:40 ]
Tema posta:  Kako da napravim izvrsni fajl u Javi?

Posto uglavnom koristim "Sun ONE studio" okruzenje bilo bi lepo da mi neko objasni kako u njemu da napravim izvrsni fajl, a moze i u bilo kojem drugom okruzenju...

Autoru:  zAkiLi [ 27.04.2005. 00:20:30 ]
Tema posta: 

One Studio sam video samo na brzinu, ali bi trebalo da bude isto kao u NetBeansu, gde se, kada kliknes na Build Project, u dist folderu tekuceg projekta ceo projekat zapakuje u .jar arhivu, koju kasnije pokreces sa $java -jar Ime.jar, mada koliko sam video pod XP-om instalacija jre1.5 podesi da se startuje klikom na .jar fajl iz total commandera npr. tako da moze i ta varijanta.

Ukoliko si mislio na win32 binarni fajl, potrazi na google neki native kompajler za to, a pod linuxom mozes da iskoristis GNU gcj kompajler.

Autoru:  zlatko [ 27.04.2005. 16:01:37 ]
Tema posta: 

Praviti binarni fajl od java izvornog koda je blasfemija. To je odricanje od same suštine jave, od filozofije: kompajliraj jednom, vrti bilo gde.

Imaš pakovanje u .jar fajlove. Oni se automatski izvršavaju kad se klikne na njih, a opet su i dalje u platformski nezavsnom obliku.

Mada postoje i programi koji prave exe u koji se upakuje JRE (pa krajni korisnik ne mora imati isti) ali se nikakvo ubrzanje ne dobije jer se program i dalje izvršava u JVM samo se gubi platformska nezavisnost.

Ima programa koji stvarno rade kompajliranje kao što je Excelsior Jet sa http://www.excelsior-usa.com/ To su neke lude Ruje programirale (vojni programeri).

Imaš i programe koji pomažu instalaciju java programa, prenošenje pareametara, traženje odgovarajućeg JRE-a i pokazivanje poruke da JRE nije instaliran, da je nužan za rad programa i daje upustvo gde da se skine. Takav program je http://jsmooth.sourceforge.net/

Evo lepog teksta koji čitav problem objašnjava: http://www.yoda.arachsys.com/java/javaexe.html
a ovde možete pročitati o konvertorima, instalerima itd: http://lopica.sourceforge.net/installer.html

Autoru:  drasko82 [ 27.04.2005. 17:13:20 ]
Tema posta: 

Pogresno sam postavio pitanje, ne treba meni exe fajl, nego javin jar fajl, kad kliknes na njega da se izvrsi program. Napravio sam jar fajl, ali kad kliknes na njega nista se ne desava. Onda sam provalio da treba da podesim onaj manifest, i procitao sam javinu dokumentaciju za to i sve lepo postavio, ali sada javlja da nema main metode......

Autoru:  zlatko [ 27.04.2005. 21:29:32 ]
Tema posta: 

manifest fajl treba da ukazuje na glavnu klasu tj. klasu čija se main metoda prva i jedina izvršava. Ili si pokazao na pogrešnu klasu, ili ta klasa nema main metod.

Autoru:  drasko82 [ 04.05.2005. 16:54:24 ]
Tema posta: 

Ovo sam napisao u manifest fajlu:

Main-Class: C:\Documents and Settings\....(iskopiran path)...\Prvi_Domaci

i nece da radi. U folderu Prvi_Domaci mi se nalaze tri fajla. Jedan interfejs, jedna klasa i glavna glasa u kojoj se nalazi samo main metoda. ???

Autoru:  zlatko [ 04.05.2005. 19:35:12 ]
Tema posta: 

Manifest fajl nisam nikada ručno pravio. Ali pogledao sam dokumentaciju, knjige i neke izvršne jar fajlove pa mogu otprilike da pomognem.

Prvo što bi manifest fajl morao imati u prvoj liniji je:
Kod:
Manifest-Version: 1.0

Zatim se ukazuje na glavnu klasu ali relativnom putanjom istim sistemom kao i kada bi se pozivala u komandnoj liniji sa java programom (tj. ako se nalazi u nekom paketu imepaketa.ImeKlase, primeti da se nigde ne stavlja .class) npr:
Kod:
Main-Class: org.gjt.sp.jedit.jEdit
Za tvoj primer bi to bilo samo Glavna ako ti se tako zove klasa u kojoj je main metoda.

Ovakav fajl sačuvaš pod nekim imenom (će ga vikamo imeManifestFajla).
Kad pozivaš komandu jar kucaš:
Kod:
jar cvmf imeManifestFajla imeJarFajla ulazniFajlovi

Ako imaš pakete jar program moraš pozvati iz korenog direkorijuma. Ulazni fajlovi su svi fajlovi koji su potrebni programu (uključujući i sličice, zvuk i druge fajlove). Mogu se koristiti džokeri tipa *.class a i nazivi deirektorijuma, kada će se čitav sadržaj direktorijuma smestiti u jar datoteku.

Na kraju ćeš dobiti jar fajl sa svim ulaznim fajlovima i direktorijumom META-INF u kome će se nalaziti fajl MANIFEST.MF i čiji će sadržaj biti kao u onom tvom koji si prosledio jar programu uz dodatnu liniju oblika:
Kod:
Created-By: 1.4.2-p6-root_03_aug_2004_01_10 (Sun Microsystems Inc.)
koju sam jar pravi stavljajući informacije o kompajleru i vremenu kompajliranja.

Uh, nadam se da ti je malo jasnije :)

Autoru:  Moma [ 04.05.2005. 20:57:20 ]
Tema posta: 

привремено решење, без прављења jar-a:
у директоријуму где су вам java i class фајлови у текстуалном едитору направите bat фајл у коме напишете java ime_fajla_u_kome_je_Main, и после само стартујете *.bat

ја сам покушао да Драшков код успешно искомпајлирам у jar (да ли сам се добро изразио?) али увек јави неку грешку приликом покретања направљеног jar-a (први пут у вези Main класе, други пут у вези изузетака)

Autoru:  zlatko [ 05.05.2005. 00:16:18 ]
Tema posta: 

U linuxu bi se to uradilo sa:
#!/bin/sh
java ime_fajla_u_kome_je_Main

Inače ovo za jar bi trebalo biti:
1. odeš u direktorijum C:\Documents and Settings\....(iskopiran path)...\Prvi_Domaci
2. napraviš manifest fajl u kome će biti 2 linije:
Manifest-Version: 1.0
Main-Class: Glavna
3. pokreneš jar cvmf imeManifestFajla imeJarFajla *.class
4. KRAJ

Autoru:  drasko82 [ 05.05.2005. 08:54:16 ]
Tema posta: 

zlatko je napisao:
3. pokreneš jar cvmf imeManifestFajla imeJarFajla *.class


A gde treba da upisem ovu komandu?
Jesi li radio u "Sun One Studio"? Sve sam uradio kako pise u help-u i nece. Napravio sam jar fajl, upisao u manifest sve sto treba, i kad kliknem na jar fajl on se pokrene i nista....

________________________________

Autoru:  zlatko [ 05.05.2005. 17:12:44 ]
Tema posta: 

Možda je problem u tome što je to neka prosta aplikacija bez Gui-a. Proba da proveriš jar fajl kucajući u komandnoj liniji java -jar imeJarfajla.jar

A u u tom okruženju nisam radio. To bi trebao biti nabudženi NetBeans, ali ja ni NetBeans ne koristim (IntelliJ IDEA je zakon).

Autoru:  b_o_k_i [ 09.05.2005. 01:14:29 ]
Tema posta: 

JBuilder (verzija 10) ima opciju da napravis "executive jar file" (citaj exe file). Mozes da checkiras za koju platformu ti treba (podrzava Windows, macOS, Solaris i Linux). Ne znam da li ti ovaj savet pomaze, ali preporucujem ti da batalis Sun ONE studio jer se meni i NetBeans i JBuilder mnogo vise dopadaju.

Stranica 1 od 1 Sva vremena su u UTC + 1 sat
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/