2016-09-06 3 views
1

Я создаю файл jar с кодом, который использует другие файлы jar в качестве зависимостей, и я не могу заставить его работать (я продолжаю получать NoClassDefFoundError).Как включить файлы jar зависимости в файл jar

Все другие подобные проблемы, которые я мог найти в Интернете, использовали maven как решение, которое я хочу избежать. Когда я запускаю мой код, как это:

#!/bin/bash 
java -cp "src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar" WikipediaWords [email protected] 

он работает нормально, но когда я пытаюсь:

java -cp "src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar" -jar WikipediaWords.jar [email protected] 

жалуется.

Я собираю свой файл jar со всеми зависимостями внутри, хотя, поэтому я действительно не знаю, почему он ничего не может найти. В идеале, я бы даже не захотел добавить путь -cp к выполнению java, и просто знаю, что файл jar использует файлы вложенных jar-зависимостей.

Если у вас есть какие-либо сведения о том, как это решить (запустите файл jar без ошибки класса def) без использования Maven, сообщите мне об этом!

Заранее благодарен!

P.S. Мое здание код может быть полезен:

#!/bin/bash 
javac -cp "src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar" src/WikipediaWords.java 
jar cfm src/WikipediaWords.jar src/Manifest.txt -C src/ . 

ответ

1

Попробуйте выполнить следующую команду:

java -cp "src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar:WikipediaWords.jar" WikipediaWords [email protected] 

ИЛИ

java -cp "WikipediaWords.jar:src/.:src/jsoup-1.9.2.jar:src/commons-cli-1.3.1.jar" WikipediaWords [email protected] 
+0

спасибо, это работает! –

+0

Есть ли у вас какие-либо подсказки, могу ли я как-нибудь указать на копии файлов jar внутри WikipediaWords.jar? –

+0

@Ofek: этот ответ решил вашу проблему? –

Смежные вопросы