Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213

    lanciare classe da dos

    ciao a tutti. ho una classe .java che compilo sotto dos con questo comando:

    C:\Documents and Settings\Tony>C:\j2sdk1.4.2_13\bin\javac -classpath C:\Tomcat\w
    ebapps\axis\WEB-INF\lib\axis.client.Call.class;C:\Tomcat\webapps\a xis\WEB-INF\li
    b\axis.client.Service.class;C:\Tomcat\webapps\axis \WEB-INF\lib\axis.jar;C:\Tomca
    t\webapps\axis\WEB-INF\lib\jaxrpc.javax.xml.rpc.Call.class;C:\Tomcat\ webapps\axi
    s\WEB-INF\lib\jaxrpc.jar C:\Tomcat\webapps\axis\CiaoClient.java

    mi crea il file .class e poi x lanciarla dò il comando:

    C:\Documents and Settings\Tony>C:\j2sdk1.4.2_13\bin\java -classpath C:\Tomcat\we
    bapps\axis\WEB-INF\lib\axis.client.Call.class;C:\Tomcat\webapps\a xis\WEB-INF\lib
    \axis.client.Service.class;C:\Tomcat\webapps\axis\ WEB-INF\lib\axis.jar;C:\Tomcat
    \webapps\axis\WEB-INF\lib\jaxrpc.javax.xml.rpc.Call.class;C:\Tomcat\ webapps\axis
    \WEB-INF\lib\jaxrpc.jar C:\Tomcat\webapps\axis\CiaoClient

    ma mi dà questo errore:

    Exception in thread "main" java.lang.NoClassDefFoundError: C:\Tomcat\webapps\axi
    s\CiaoClient

    grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: lanciare classe da dos

    Originariamente inviato da tonz79
    ciao a tutti. ho una classe .java che compilo sotto dos con questo comando:
    ....
    ma mi dà questo errore:

    Exception in thread "main" java.lang.NoClassDefFoundError: C:\Tomcat\webapps\axi
    s\CiaoClient
    Innanzitutto invece di scrivere pappardelle di path, imposta correttamente le variabili di ambiente PATH e CLASSPATH.

    Poi comunque al comando java devi passare il nome della classe (eventualmente qualificato con package se ne ha), non un pathname legato al filesystem! E la classe deve essere in "classpath", naturalmente.

    Se hai una classe CiaoClient, quindi un file CiaoClient.class, o sei in quella stessa directory e nel classpath hai il '.' (directory corrente) o in classpath hai un path assoluto/relativo che fa riferimento alla directory in cui si trova il file .class. In tutti i casi basta lanciare con: java CiaoClient.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    cioè in variabili d'ambiente dell'utente metto in path il percorso di tutte le librerie e in classpath dov'è la mia classe?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da tonz79
    cioè in variabili d'ambiente dell'utente metto in path il percorso di tutte le librerie e in classpath dov'è la mia classe?
    La variabile PATH è già sicuramente impostata, devi solo aggiungere il path della '\bin' del JDK. La variabile CLASSPATH serve per specificare un elenco di directory e file jar/zip in cui la JVM andrà a cercare le classi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    ok, ho la variabile d'ambiente di sistema JAVA_HOME che ora vale: C:\Programmi\Java\jdk1.5.0_10\bin e una variabile d'ambiente utente chiamata AXIS_HOME che vale C:\Tomcat\webapps\axis\WEB-INF\lib al cui interno ci sono le librerie, giusto così?
    ora mi dà questo errore:
    C:\Documents and Settings\Tony>C:\Programmi\Java\jre1.5.0_10\bin\ja va -classpath
    %AXIS_HOME% CiaoClient
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis/clien
    t/Service
    at CiaoClient.main(CiaoClient.java:16)

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da tonz79
    ok, ho la variabile d'ambiente di sistema JAVA_HOME che ora vale: C:\Programmi\Java\jdk1.5.0_10\bin
    No! JAVA_HOME innanzitutto non serve tanto al JDK ma bensì ai tool esterni (es. Ant) e comunque non deve essere la 'bin' ma la "home", cioè nel tuo caso solo "C:\Programmi\Java\jdk1.5.0_10"

    Originariamente inviato da tonz79
    e una variabile d'ambiente utente chiamata AXIS_HOME che vale C:\Tomcat\webapps\axis\WEB-INF\lib al cui interno ci sono le librerie, giusto così?
    Non lo so ... Axis non lo conosco...

    Originariamente inviato da tonz79
    ora mi dà questo errore:
    C:\Documents and Settings\Tony>C:\Programmi\Java\jre1.5.0_10\bin\ja va -classpath
    %AXIS_HOME% CiaoClient
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis/clien
    t/Service
    at CiaoClient.main(CiaoClient.java:16)
    Continui a usare un path completo per lanciare java. Ripeto: metti la 'bin' del JDK in PATH e poi usa semplicemente javac java ecc...!

    Comunque così facendo, il "classpath" è ciò che è contenuto in %AXIS_HOME% (secondo quanto detto sopra vale "C:\Tomcat\webapps\axis\WEB-INF\lib"). In questa directory è presente il file CiaoClient.class?? Deduco di no.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    si, ci ho provato già a copiare e a spostare il .class in quella cartella ma mi dà sempre:

    D:\Documents and Settings\Tony>D:\Programmi\Java\jdk1.6.0\bin\java -classpath D:
    \Tomcat\webapps\axis\WEB-INF\lib\axis.client.Call.class;D:\Tomcat\webapps\a xis\W
    EB-INF\lib\axis.client.Service.class;D:\Tomcat\webapp s\axis\WEB-INF\lib\axis.jar
    ;D:\Tomcat\webapps\axis\WEB-INF\lib\jaxrpc.javax.xml.rpc.Call.class;D:\Tomcat\ we
    bapps\axis\WEB-INF\lib\jaxrpc.jar CiaoClient
    Exception in thread "main" java.lang.NoClassDefFoundError: CiaoClient

    in questo caso non ho usato la variabile d'ambiente ma non penso sia un problema

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da tonz79
    D:\Documents and Settings\Tony>D:\Programmi\Java\jdk1.6.0\bin\java -classpath D:
    \Tomcat\webapps\axis\WEB-INF\lib\axis.client.Call.class;D:\Tomcat\webapps\a xis\W
    EB-INF\lib\axis.client.Service.class;D:\Tomcat\webapp s\axis\WEB-INF\lib\axis.jar
    ;D:\Tomcat\webapps\axis\WEB-INF\lib\jaxrpc.javax.xml.rpc.Call.class;D:\Tomcat\ we
    bapps\axis\WEB-INF\lib\jaxrpc.jar CiaoClient
    Exception in thread "main" java.lang.NoClassDefFoundError: CiaoClient

    in questo caso non ho usato la variabile d'ambiente ma non penso sia un problema
    Ancora no. Nel classpath non ci devi mettere i nomi di file .class!! Solo nomi di directory o nomi di file jar/zip.

    Altra domanda: la classe CiaoClient è dichiarata in un package?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    213
    anche così non va:
    D:\Documents and Settings\Tony>D:\Programmi\Java\jdk1.6.0\bin\java -classpath D:
    \Tomcat\webapps\axis\WEB-INF\lib\axis.jar;D:\Tomcat\webapps\axis\WEB-INF\lib\jax
    rpc.jar CiaoClient
    Exception in thread "main" java.lang.NoClassDefFoundError: CiaoClient

    la classe come prima mi hai detto l'ho messa nella stessa cartella dove sono i .jar e cmq se la lancio con bluej funziona, solo con dos mi sta dando problemi

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da tonz79
    anche così non va:
    D:\Documents and Settings\Tony>D:\Programmi\Java\jdk1.6.0\bin\java -classpath D:
    \Tomcat\webapps\axis\WEB-INF\lib\axis.jar;D:\Tomcat\webapps\axis\WEB-INF\lib\jax
    rpc.jar CiaoClient
    Exception in thread "main" java.lang.NoClassDefFoundError: CiaoClient

    la classe come prima mi hai detto l'ho messa nella stessa cartella dove sono i .jar e cmq se la lancio con bluej funziona, solo con dos mi sta dando problemi
    Senti ... scusa se lo dico ... ma non si può continuare ad andare avanti così!! Nella riga sopra hai messo in classpath 2 file jar. Ok, ma hai messo in classpath la directory dove si trova la classe?? No non mi sembra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.