Я компилировать класс успешно, как это:Проблема с классом Java загрузчиком
[email protected]:~/zookeeper-3.4.5$ javac -cp "zookeeper-3.4.5.jar" org/zookeeper/Worker.java
Но когда я затем попытаться запустить его загрузчик класса Java не может найти класс:
[email protected]:~/zookeeper-3.4.5$ java -cp "zookeeper-3.4.5.jar" org.zookeeper.Worker
Exception in thread "main" java.lang.NoClassDefFoundError: org/zookeeper/Worker
Caused by: java.lang.ClassNotFoundException: org.zookeeper.Worker
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.zookeeper.Worker. Program will exit.
Здесь находятся соответствующие части Worker.java
package org.zookeeper;
...
class Worker implements Watcher {
...
public static void main(String[] args) throws Exception {
Worker worker = new Worker(args[0], args[1],args[2]);
worker.processRequest();
}
Почему загрузчик классов не загружает класс?
ли '-3.4.5.jar' зоопарка на самом деле содержит класс? – Reimeus
@Reimeus no. Я написал рабочий класс и сохранил/скомпилировал его в org/zookeeper. Но класс Worker зависит от вещей в zookeeper-3.4.5.jar – bernie2436