webForumDet fria alternativet

kompilering

5 svar · 386 visningar · startad av pirate

pirateMedlem sedan aug. 200541 inlägg
#1

Hej.
Jag har fått lite problem när jag ska kompilera i kommando prompten. Kastar ett exception:
Exception in thread "main" java.lang.NoClassDefFoundError: ABC
jag har satt java bin katalogen som miljövariabel och kört i kommando prompten set env CLASSPATH = "sökvägen för java"
och fortfarande samma problem
kör jag JCreator så funkar kompileringen hur bra som helst.

nån som kan ge tips om vad det handlar om ... :q
mvh

spangoMedlem sedan juni 20008 205 inlägg
#2

Släng på ";." sist i din classpath. Det säger åt java att kolla efter klasser i den katalog du står i.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#3

Får du detta fel vid kompilering eller körning?

pirateMedlem sedan aug. 200541 inlägg
#4

funkar ändå inte...
som miljövariabel har jag satt ";" i slutet och som classpath och path har jag också satt dit ";" men det funkar ändå inte...
jag använder mig av jdk1.5.0_5.0\bin

LimeMedlem sedan sep. 2001961 inlägg
#5

pirate skrev:

funkar ändå inte...
som miljövariabel har jag satt ";" i slutet och som classpath och path har jag också satt dit ";" men det funkar ändå inte...
jag använder mig av jdk1.5.0_5.0\bin

Du bör ha det som på engelska kallas "current directory" i class-pathen. Denna symboliseras med en punkt [.].

Alltså bör classpathen se ut något såhär:
CLASSPATH = .;c:\java\jdk1.5_05\lib;f:\dev\common\lib\common.jar

Jag föredrar dock att använda den classpath som definieras av de olika kommandona istället för systemets classpath. Om jag har en struktur som ser ut såhär:
\
\lib\
common.jar
framework.jar
\src\
\bin\

Så ställer jag mig i src-katalogen och kompilerar med:
f:\projA\src > javac -classpath .;../lib/common.jar;../lib/framework.jar -d ../bin *.java

och när jag kör programmet så skriver jag:

f:\projA\bin > java -classpath .;../lib/common.jar;../lib/framework.jar Main

spangoMedlem sedan juni 20008 205 inlägg
#6

pirate skrev:

funkar ändå inte...
som miljövariabel har jag satt ";" i slutet och som classpath och path har jag också satt dit ";" men det funkar ändå inte...
jag använder mig av jdk1.5.0_5.0\bin

Som sagt, det ska vara ";.", inte bara ";".

127 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)