У меня есть два файла jar: A.jar и B.jar. A содержит мою основную функцию и использует классы, определенные в B.
Я помещаю A и B в одну и ту же папку, которая находится в ПУТИ Windows, и пытаюсь запустить мой основной файл в A ...
java -jar A.jar -dosomething
Это дает мне ошибку java.lang.NoClassDefFound
в методе B, который я вызываю в коде под -dosomething. Интересно, что он нашел A.jar и вызвал метод main, но не может найти B.jar, даже если он находится в той же папке, что и A.jar.
Итак, я прочитал (снова) о CLASSPATH и переменной JAVA_HOME, и я убедился, что мой JAVA_HOME указывает на правильное место. В этом документе описывается, как я должен иметь возможность поместить файлы расширений jar (в моем случае B) в папку / lib / ext, поэтому я попытался, но получаю то же самое java.lang.NoClassDefFound
ошибка.
Я использую Java jdk1.5.0_10, поэтому я также поместил B.jar в папку jre / lib / ext внизу.
Так что теперь у меня есть это в трех местах, локальной папке в PATH, JAVA_HOME / lib / ext и JAVA_HOME / jre / lib / ext, и я все еще получаю ту же ошибку.
Должно ли работать lib / ext? Где я могу положить файл B.jar, чтобы он работал правильно?