Ok Wiem, że to pytanie było zadawane wiele razy wiele razy, ale googlowałem i obejrzałem przykłady i przyjrzałem się pytaniom na temat SO przez ostatni miesiąc, a ja poważnie nie mogę tego uruchomić. Myślę, że problem polega na tym, że chcę móc uruchomić program zarówno z Eclipse, jak i z linii poleceń. Używam także OSX i myślę, że wiele przykładów, które czytam, dotyczy Windowsa/Linuksa.Dodawanie słoika do ścieżki klasy podczas uruchamiania z wiersza polecenia
Jeśli mam prosty program skompilowany w Eclipse, który chcę uruchomić z wiersza poleceń zrobić to:
java -cp bin MyProgram
mam inny program skompilować i uruchomić w Eclipse, a to odwołuje się do JDBC MySQL connector (mysql-connector-java-5.1.19-bin.jar), który jest przechowywany w tym samym katalogu. To działa dobrze od Eclipse, ale nie mogę go uruchomić z wiersza poleceń.
Próbowałem wszystkie kombinacje rzeczy ...
java -classpath "bin;mysql-connector-java-5.1.19-bin.jar" MyProgram
java -cp bin\;mysql-connector-java-5.1.19-bin.jar MyProgram
i uzyskać wszystkie rodzaje klasa nie znaleziono błędów ...
Exception in thread "main" java.lang.NoClassDefFoundError: MyProgram
Caused by: java.lang.ClassNotFoundException: MyProgram
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Cześć Matt, jeśli się nie mylę Myślę, że ścieżka klasy jest zadeklarować ścieżkę do głównej klasy, który chcesz wykonać. Tak więc w tym przypadku, jeśli twoja klasa znajduje się w folderze bin, po prostu spróbuj: java MyProgram lub java -cp myprogrampath MyProgram –
@FedericoGiust Not specific; classpath po prostu definiuje archiwum lub ścieżkę do zestawu klas. Ścieżka klasy może lub nie może zawierać klasy działającej (co zazwyczaj powoduje błąd wyjątku lub błąd w prostej java.exe). Ścieżka Classpath może zawierać katalogi i archiwa, które nie mają uruchomionych klas. – Qix
możliwy duplikat [linii poleceń Java z zewnętrznym .jar] (http://stackoverflow.com/questions/6069702/java-command-line-with-external-jar) –