Imam poslednju verziju jdk-a i netbeans 5.0 beta. Napravio sam najobicniju GUI aplikaciju koja nista ne radi. Kada pokrenem aplikaciju u netbeans-u sve radi kako treba, ali kada hocu da pokrenem aplikaciju iz windows explorera tako sto kliknem na "Projekat1.jar" izbaci mi gresku. Znaci, iz IDE radi, ali iz explorera ne.
Could not find the main class. Program will exit
Zaključano
Zakačeno
da bi mogao dupli klik na jar file mora da se zna koja klasa u jar fileu je mail klasa tj. ima main metodu ..za to napravi novi folder u root-u jar filea META-INF i u njemu manifest file u kome navedes ime main klase... vidi na google kako treba da izgleda taj manifest file...
Potpis
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. - Dennis Ritchie
Ja programiram citava 2 dana u Javi :) tako da stvarno nisam jos upoznat sa platformom. Radio sam sve po upustvu iz netbeans-ovog help-a. Folder o kome pricas "META-INF" vec se nalazi u jar datoteci i sadrzi "MANIFEST.MF" datoteku ciji je sadrzaj sledeci:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_05-b05 (Sun Microsystems Inc.)
Main-Class: Project2UIpkg.Project2UI
X-COMMENT: Main-Class will be added automatically by build
Mozda je bug u samom netbeans-u posto je ipak beta.
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.5
Created-By: 1.5.0_05-b05 (Sun Microsystems Inc.)
Main-Class: Project2UIpkg.Project2UI
X-COMMENT: Main-Class will be added automatically by build
Mozda je bug u samom netbeans-u posto je ipak beta.
pa ako je ta klasa koju su stavili da je main stvarno main :) trebalo bi da radi..
a jes ti stavio CLASSPATH promenljivu okruzenja da je ;.; ? mozda i ovo zeza mada nisam siguran...
a jes ti stavio CLASSPATH promenljivu okruzenja da je ;.; ? mozda i ovo zeza mada nisam siguran...
Potpis
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. - Dennis Ritchie
Probaj ovo:
1.U folderu u kome ti se nalazi jar fajl napravi datoteku "Run.bat".
2.U datoteku upisi:
java -jar imeJara.jar
pause
3. Startuj Run.bat dvoklikom
4. Kada ti se u komandnom prozoru pojavi tekst sa porukom o gresci kopiraj sve od reci do reci i
posalji ovde na forum.
-----
Da li si podesio sistemsku promenljivu okruzenja PATH tako da pokazuje na JAVA_HOMEbin folder?
1.U folderu u kome ti se nalazi jar fajl napravi datoteku "Run.bat".
2.U datoteku upisi:
java -jar imeJara.jar
pause
3. Startuj Run.bat dvoklikom
4. Kada ti se u komandnom prozoru pojavi tekst sa porukom o gresci kopiraj sve od reci do reci i
posalji ovde na forum.
-----
Da li si podesio sistemsku promenljivu okruzenja PATH tako da pokazuje na JAVA_HOMEbin folder?
@x VITA x:
a jes ti stavio CLASSPATH promenljivu okruzenja da je ;.; ? mozda i ovo zeza mada nisam siguran...
-Kako se to radi?
@shima:
Da li si podesio sistemsku promenljivu okruzenja PATH tako da pokazuje na JAVA_HOMEbin folder?
-Ne
-Evo greske posle pokretanja Run.bat:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
p.s. Vi spominjete te "path-ove", sta ako hocu da dam nekome program koji sam napisao u Javi, nije valjda da taj korisnik takodje treba da ih podesava na svom sistemu?
a jes ti stavio CLASSPATH promenljivu okruzenja da je ;.; ? mozda i ovo zeza mada nisam siguran...
-Kako se to radi?
@shima:
Da li si podesio sistemsku promenljivu okruzenja PATH tako da pokazuje na JAVA_HOMEbin folder?
-Ne
-Evo greske posle pokretanja Run.bat:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
p.s. Vi spominjete te "path-ove", sta ako hocu da dam nekome program koji sam napisao u Javi, nije valjda da taj korisnik takodje treba da ih podesava na svom sistemu?
mozes i kao argument pozivu java -jar da das i -cp . tako da je classpath tekuci direktorijum...
ili ides na desni klik na my comp i properties pa advanced pa env. variables...
ili ides na desni klik na my comp i properties pa advanced pa env. variables...
Potpis
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. - Dennis Ritchie
Posle malo guglanja resio sam problem. Ovo je izgleda bug u Netbeans 5.0 beti. Potrebno je kopirati datoteku "swing-layout-0.7.jar" koja se nalazi u "Netbeans\ide6\modules\ext" u folder "Java\jre\lib\ext"
"Tvoj" program koristi pomenutu biblioteku i zavistan je od nje pa nije mogao da pronadje klase koje
su mu trebale...
Takodje smestanje te biblioteke u pomenuti folder je samo jedan od nacina da ti program proradi.
Uzeo si primer koji nije za pocetnike...
Takodje pomenutu biblioteku mozes staviti u isti folder u kome ti je i tvoj proram ali onda u jar
ili bat moras da dodas parametar classpath...sa imenom pomenute biblioteke
Vidi "Java Tutorial" sa java.sun.com web sajta kako se koristi jar, classpath i sve ostalo sto te
zanima...
Govorim napamet:
za jar dodati liniju u manifest fajl:
"Class-Path: swing-layout-0.7.jar"
za bat:
java -cp swing-layout-0.7.jar -jar imeTvogPrograma.jar
Inace ono sto si pitao ranije ... ne treba korisnik da podesava pathove da bi mu aplikacija koju mu
je neko u Javi napravio radila...
Npr dovoljno je da mu zapakujes aplikaciju u jar fajl pa moze da je startuje dvoklikom ukoliko ima
instaliranu Javu...
Za ostale tehnike nisam bas kompetentan...
su mu trebale...
Takodje smestanje te biblioteke u pomenuti folder je samo jedan od nacina da ti program proradi.
Uzeo si primer koji nije za pocetnike...
Takodje pomenutu biblioteku mozes staviti u isti folder u kome ti je i tvoj proram ali onda u jar
ili bat moras da dodas parametar classpath...sa imenom pomenute biblioteke
Vidi "Java Tutorial" sa java.sun.com web sajta kako se koristi jar, classpath i sve ostalo sto te
zanima...
Govorim napamet:
za jar dodati liniju u manifest fajl:
"Class-Path: swing-layout-0.7.jar"
za bat:
java -cp swing-layout-0.7.jar -jar imeTvogPrograma.jar
Inace ono sto si pitao ranije ... ne treba korisnik da podesava pathove da bi mu aplikacija koju mu
je neko u Javi napravio radila...
Npr dovoljno je da mu zapakujes aplikaciju u jar fajl pa moze da je startuje dvoklikom ukoliko ima
instaliranu Javu...
Za ostale tehnike nisam bas kompetentan...