Где находится документация и как включить зависимости внутри .jarJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Где находится документация и как включить зависимости внутри .jar

Сообщение Anonymous »

Ничего сложного. Простой и понятный проект.
Я только что следовал самому первому руководству по созданию проекта Maven.
Как упоминалось там, когда я запускал

Код: Выделить всё

java -cp target/log2json2db-1.0-SNAPSHOT.jar org.company.com.log2json2db.App
Он правильно напечатал «Hello World».
Позже я добавляю некоторые зависимости, такие как hibernate, mysql, log4j и т. д., в разделе " раздел "зависимости".
И добавлен

Код: Выделить всё

private static Logger logger = LoggerFactory.getLogger(App.class);
Затем я запустил «mvn clean package», чтобы создать файл «.jar».
Jar был создан, но он не включает такие библиотеки, как slf4j.
Теперь, когда я снова попытался запустить с помощью "java -cp..."
Я получаю сообщение об ошибке ниже.

Код: Выделить всё

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.company.com.log2json2db.App.(App.java:10)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
В основном мне нужна помощь: я пытался поискать в документации, нужно ли мне изменить область действия ИЛИ нужно ли мне добавить какие-то другие зависимости и т. д. Я искал в разделе «зависимости». раздел «Управление» документации. Но не могу понять, что мне нужно изменить, чтобы включить библиотеки зависимостей.
Может ли кто-нибудь предоставить мне ссылку на документацию и, возможно, ответ о том, как я могу включить зависимости внутри ".jar"?< /p>
Ниже приведен pom.xml для справки.

Код: Выделить всё

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

hibernate-tutorials
org.hibernate.tutorials
6.6.4.Final


org.company.com
log2json2db
0.0.1-SNAPSHOT

log2json2db

http://www.example.com


UTF-8
22





org.junit
junit-bom
5.11.0
pom
import






org.junit.jupiter
junit-jupiter-api
test



org.junit.jupiter
junit-jupiter-params
test


org.hibernate
hibernate-core
6.6.4.Final



mysql
mysql-connector-java
8.0.20



org.apache.logging.log4j
log4j-api
2.24.2



org.apache.logging.log4j
log4j-core
2.24.2



org.slf4j
slf4j-api
2.0.16



org.apache.logging.log4j
log4j-slf4j2-impl
2.24.2



com.google.api-client
google-api-client-gson
RELEASE








maven-clean-plugin
3.4.0



maven-resources-plugin
3.3.1


maven-compiler-plugin
3.13.0


maven-surefire-plugin
3.3.0


maven-jar-plugin
3.4.2


maven-install-plugin
3.1.2


maven-deploy-plugin
3.1.2



maven-site-plugin
3.12.1


maven-project-info-reports-plugin
3.6.1





ОБНОВЛЕНИЕ
Добавлен плагин Apache Maven Shade.

Код: Выделить всё

org.apache.maven.plugins
maven-shade-plugin
3.6.0




package

shade




Помимо использования Apache Maven Shade, как предложено в комментариях, мне пришлось отключить тег pluginManagement, чтобы Maven Shade вступил в силу.


Подробнее здесь: https://stackoverflow.com/questions/793 ... inside-jar
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»