tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von zeja
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
515
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Ronin-Jay Ronin-Jay ist offline Mitglied Gold
    Registriert seit
    Jun 2003
    Beiträge
    235
    Hallo,

    ich habe eine kleine Testklasse, um Commons Configurations zu testen. Diese funktioniert über Eclipse auch wunderbar, allerdings kann ich sie nicht auf der Konsole manuell starten.

    Mittels:
    java -Djava.library.pa
    th=. -cp .; commons-configuration-1.4.jar, commons-lang-2.3.jar, commons-logging-1.1.jar, commons-collections-3.2.jar CC.TEST_Props
    versuche ich die Datei zu starten und erhalte dann folgende Exception:

    Exception in thread "main" java.lang.NoClassDefFoundError: commons-configuration-1/4/jar,
    Woran liegt das. Vor allem, wieso werden die '.' plötzlich in '/' umgewandelt. Habe auch schon versucht die JARs umzubenennen, aber das führt leider ebenfalls zur Exception:
    java -Djava.library.path=. -cp .; commons_configuration.jar, commons_lang.jar, commons_logging.jar, commons_collections.jar CC.TEST_Props
    führt zu:
    Exception in thread "main" java.lang.NoClassDefFoundError: commons_configuration/jar,
    Auch hier ist ebenfalls die Umwandlung des Punktes zu sehen.

    Jemand eine Idee?
     

  2. #2
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    Warum hast du hinter dem -cp eigentlich ein Semikolon?

    versuch es doch mal so

    Code :
    1
    
    java -cp commons-configuration-1.4.jar, commons-lang-2.3.jar, commons-logging-1.1.jar, commons-collections-3.2.jar CC.TEST_Props


    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  3. #3
    Ronin-Jay Ronin-Jay ist offline Mitglied Gold
    Registriert seit
    Jun 2003
    Beiträge
    235
    Zitat Zitat von zerix Beitrag anzeigen
    Warum hast du hinter dem -cp eigentlich ein Semikolon?
    Habe ich so von einem Aufruf von SWT übernommen....

    versuch es doch mal so

    Code :
    1
    
    java -cp commons-configuration-1.4.jar, commons-lang-2.3.jar, commons-logging-1.1.jar, commons-collections-3.2.jar CC.TEST_Props
    Ebenfalls Exception:
    java -Djava.library.path=. -cp commons-configuration-1.4.jar, commons-lang-2.3.jar, commons-logging-1.1.jar, commons-collections-3.2.jar CC.TEST_Props

    ERGEBNIS:
    Exception in thread "main" java.lang.NoClassDefFoundError: commons-lang-2/3/jar,
    Mich wundert auch wie gesagt die Umwandlung der Punkte. Das kann ich mir gar nicht erklären...
     

  4. #4
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Die Umwandlung wird gemacht, weil man in manchen aufrufen auch Packages angeben kann und da muss von Punkt in "/" umgewandelt werden.

    Welchen Aufruf hast du gemacht. Den ich gepostet hab oder den
    Code :
    1
    
    java -Djava.library.path=. -cp commons-configuration-1.4.jar, commons-lang-2.3.jar, commons-logging-1.1.jar, commons-collections-3.2.jar CC.TEST_Props
    ?

    Lass mal die Kommatar zwischen den Packages weg.

    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  5. #5
    Ronin-Jay Ronin-Jay ist offline Mitglied Gold
    Registriert seit
    Jun 2003
    Beiträge
    235
    Beides...

    Sowohl
    java -cp commons-configuration-1.4.jar, commons-lang-2.3.jar, commons-logging-1.1.jar, commons-collections-3.2.jar CC.TEST_Props
    als auch
    java -Djava.library.path=. -cp commons-configuration-1.4.jar, commons-lang-2.3.jar, commons-logging-1.1.jar, commons-collections-3.2.jar CC.TEST_Props
    und die Varianten ohne Kommata führen zum NoClassDefFoundError.
     

  6. #6
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Eine sehr schoene Referenz zum setzen des classpath: http://mindprod.com/jgloss/classpath.html

    Dein erster Ansatz war prinzipiell nicht schlecht. Die einzelnen Eintraege im cp werden mit Semikolon OHNE Leerzeichen getrennt. Versuchs mal so.
    Ronin-Jay bedankt sich. 

  7. #7
    Ronin-Jay Ronin-Jay ist offline Mitglied Gold
    Registriert seit
    Jun 2003
    Beiträge
    235
    @zeja
    Vielen Dank. darauf bin ich gar nicht gekommen. Nun klappt's....
    und wie der Link so schön sagt:
    "...The Classpath is one of the most confusing things in Java...."
     

Ähnliche Themen

  1. Apache Commons Configuration - Daten schreiben
    Von MrCastle im Forum Java Grundlagen
    Antworten: 0
    Letzter Beitrag: 15.01.10, 14:12
  2. XML mit Apache Commons Configuration
    Von MrCastle im Forum Java Grundlagen
    Antworten: 3
    Letzter Beitrag: 18.09.09, 15:59
  3. Problem mit commons net
    Von Garrona im Forum Java
    Antworten: 1
    Letzter Beitrag: 18.07.08, 06:27
  4. Problem mit commons-net-1.4.1 (Apache) Lib
    Von devilmc im Forum Java
    Antworten: 0
    Letzter Beitrag: 11.04.08, 15:19
  5. Übersicht über Jakarta Commons
    Von Thomas Darimont im Forum Java
    Antworten: 0
    Letzter Beitrag: 20.02.05, 20:06