Adding external library to artifact jar in IntelliJ IDEA
Добавление внешней библиотеки в artifact jar в IntelliJ IDEA
Как я могу добавить внешнюю библиотеку в проект в IntelliJ IDEA, чтобы при создании артефакта он по-прежнему имел доступ к классам в библиотеке?
Я создал новый артефакт Jar из Project Structure, затем добавил внешний JAR в библиотеки, затем проверил его в списке модулей и, наконец, добавил его в выходные данные для артефакта. Ничего из этого не работает. Когда я создаю и пытаюсь запустить свое приложение, оно выдает ошибку:
Exception in thread "main" java.lang.NoClassDefFoundError: <path of the class trying to use>
Чего мне не хватает, или я делаю это совершенно неправильно?
Переведено автоматически
Ответ 1
Здесь у вас есть 2 варианта:
извлеките зависимость в файл artifact jar, чтобы приложение представляло собой единый исполняемый файл jar со всеми зависимостями
свяжите зависимые jar с помощью Manifest.MF и скопируйте их рядом с основным jar приложения
Артефакты создаются в out\single и out\linked каталогах.
Соответствующие конфигурации:
Ответ 2
If you are using maven to build your application then this is not the correct way to add external library. You should either
Do an install of your library like below mvn install:install-file -Dfile=myJar.jar -DgroupId=com.yourproject -DartifactId=yourproject -Dversion={version} -Dpackaging=jar.