Avatar billede henrik_k Nybegynder
21. februar 2010 - 16:59 Der er 4 kommentarer og
1 løsning

Hjælp til java -cp

Filstruktur:

bin
config
lib
src

Jeg compiler med:
javac -classpath ./lib/log4j-1.2.15.jar -d ./bin ./src/*.java

Når jeg forsøger at eksekverer programmet går det galt.
Jeg har forsøgt med:
java -cp ../lib/log4j-1.2.15.jar  ./bin/Test
java -cp C:\Program\lib\log4j-1.2.15.jar C:\Program\bin\Test
java -cp ..\lib\log4j-1.2.15.jar Test

Exception in thread "main" java.lang.NoClassDefFoundError: //bin/Test
Caused by: java.lang.ClassNotFoundException: ..bin.Test
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: ./bin/Test.  Program will exit.

java Test

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
        at Test.<clinit>(Test.java:7)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        ... 1 more
Could not find the main class: Test.  Program will exit.

Samt et utal af andre kombinationer der fejler, det eneste jeg kan få til at virker er
hvis jeg flytter alle filer til samme folder.

Er der nogen der kan hjælpe mig med den korrekte sti så jeg kan bibeholde min nuværende foderstruktur
Avatar billede arne_v Ekspert
21. februar 2010 - 17:03 #1
hvis du står i roden af dit projekt så:

java -cp ./bin;./lib/log4j-1.2.15.jar Test

hvis du bruger pakke så:

java -cp ./bin;./lib/log4j-1.2.15.jar dinpakke.Test
Avatar billede arne_v Ekspert
21. februar 2010 - 17:04 #2
forklaring:

java
-cp
./bin                        så Java kan finde Test klassen
;
./lib/log4j-1.2.15.jar      så Java kan finde Log4j
dinpakke.Test                og dette her er et klasse navn ikke et filnavn
Avatar billede henrik_k Nybegynder
21. februar 2010 - 17:06 #3
Mange tak. Utroligt at man kan glemme så basalt efter et års pause fra sproget :)
Avatar billede henrik_k Nybegynder
21. februar 2010 - 17:07 #4
Smid et svar så får du dine point
Avatar billede arne_v Ekspert
21. februar 2010 - 17:09 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester