SanMedlem sedan juni 20072 inlägg Jag har gjort ett program i Eclipse och har försökt exportera det till en jar-fil.
Programmet fungerar utmärkt i eclipse men dubbelklickar jag på den exporterade jar-filen får jag felmeddelandet "Could not find main class. Program will exit."
Försöker jag köra jar-filen från commandoprompten får jag istället felmeddelandet
Exception in thread "main" java.lang.NoClassDefFoundError: windowtabs/TabWindow
Vad kan vara felet?
Jag är jättetacksam för alla idéer.
zoloMedlem sedan juni 20076 inlägg Manifest
Du måste i, META-INF/MANIFEST.MF, skapa en rad enligt
Main-Class: <package>.<MyClass>
CompusaMedlem sedan jan. 20023 327 inlägg I export-guiden i Eclipse finns det ett alternativ där du kan välja main-filen för ditt projekt/jar. Leta efter det alternativet.
SanMedlem sedan juni 20072 inlägg har mainklassen i manifestfilen
Jättetack för hjälpen, men jag har redan nedanstående i min manifest-fil:
Manifest-Version: 1.0
Main-Class: sc.Sc
(sc = paket Sc= mainklassen)
Trots detta fungerar det alltså inte, vad kan det vara för fel då?
zoloMedlem sedan juni 20076 inlägg Fler beroenden
Exception in thread "main" java.lang.NoClassDefFoundError: windowtabs/TabWindow
Tyder på att du använder något annat paket, förutom ditt mainprogram. Du måste se till att classpathen är satt när du kör din java. Istället för att dubbelklicka föreslår jag att du från ett kommandofönster kör ungefär följande:
java -classpath [I]jar1[/I].jar;[I]jar2[/I].jar[;...] -jar MinJarFil.jar
Du får mixtra med classpathen och se vilka beroenden du har. Inifrån Eclipse ser du vilken classpath som används, från (bland annat) projektets propertysida.
swedeMedlem sedan feb. 2004230 inlägg Jag hijackar den här gamla tråden då jag har samma problem!
Mitt nygjorda java program (.jar) vägrar köra :(
$ java -jar StockLoader.jar
Ouch : java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Nu har jag till och med varit så väluppfostrad så jag har inkluderat mysql drivern i min .jar fil.
Men hur får jag java att förstå det?
Ska väl även tillägga att jag har försökt att sätta CLASSPATH och peka den till en lös mysql-driver.jar utan någon skillnad
GeinMedlem sedan sep. 20005 700 inlägg
zolo skrev:
Tyder på att du använder något annat paket, förutom ditt mainprogram. Du måste se till att classpathen är satt när du kör din java. Istället för att dubbelklicka föreslår jag att du från ett kommandofönster kör ungefär följande:
java -classpath [I]jar1[/I].jar;[I]jar2[/I].jar[;...] -jar MinJarFil.jar
Du får mixtra med classpathen och se vilka beroenden du har. Inifrån Eclipse ser du vilken classpath som används, från (bland annat) projektets propertysida.
Nu va ju det här rätt länge sedan men för framtidens skull så vill jag säga att detta är helt fel.
Om java anropas med -jar flaggan så ignoreras -classpath fullständigt.
swede skrev:
Jag hijackar den här gamla tråden då jag har samma problem!
Mitt nygjorda java program (.jar) vägrar köra :(
$ java -jar StockLoader.jar
Ouch : java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Nu har jag till och med varit så väluppfostrad så jag har inkluderat mysql drivern i min .jar fil.
Men hur får jag java att förstå det?
Ska väl även tillägga att jag har försökt att sätta CLASSPATH och peka den till en lös mysql-driver.jar utan någon skillnad
Som sagt, även miljövariabeln CLASSPATH ignoreras om du startar ditt program med -jar. Det du får göra är att lägga in Class-Path: sökväg/till/drivern.jar i ditt manifest. T.ex. Class-Path: lib/mysql-jdbc.jar