Проблемы с путями к классам Java

К счастью или к несчастью, мне не приходилось слишком много работать с вызовом java из командной строки до этого момента я обычно использовал что-то вроде Maven, Ant или запускал что-то в контейнере сервлетов. Я только что скомпилировал свое приложение в Maven в один JAR, используя сборку: единственная цель, и у меня возникли серьезные проблемы с запуском его из командной строки.

Вот что я пытаюсь сделать:

export JAVA_CLASSPATH="`pwd`:/path/to/remote/libs/"
java -cp "${JAVA_CLASSPATH}" -jar groupId-artifactId-version-jar-with-dependencies.jar com.my.main.Class

Это дает следующую ошибку:

Exception in thread "main" java.lang.NoClassDefFoundError: com/remote/lib/IServer
Caused by: java.lang.ClassNotFoundException: com.remote.lib.IServer
    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: com.my.main.Class. Program will exit.

Класс IServer находится в / path / to / remote / libs и не найден. Также, похоже, не удается найти основной класс, что действительно странно. Что я делаю не так?

0
задан Naftuli Kay 30 July 2011 в 01:09
поделиться