предисловие
нужно: хотите упаковать проект со сторонними зависимостями в пакет jar для публикации и запуска.
причина написания: Существует примерно две текущие схемы упаковки:1.使用idea进行打包
2.使用maven进行打包
Для моих нужд большинство решений в Интернете должны сделать сторонние зависимости независимыми. Вариант 2. Я считаю, что информация, найденная в Интернете, немного запутана, и новичкам может быть трудно различать и анализировать ее, поэтому я записываю ее самостоятельно для резервного копирования.
1. Используйте maven для упаковки проекта в пакет jar, включая сторонние зависимости.
1. Настройте файл pom и скопируйте в него следующий код
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<!-- 此处指定main方法入口的class,这里需要根据实际情况进行配置 -->
<!-- 其余的默认即可-->
<mainClass>Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
Фактический эффект выглядит следующим образом:
2. Нажмите кнопку, как показано ниже, чтобы упаковать проект.
3. Эффект
Откройте cmd --> перейдите в каталог, где находится пакет jar --> введите [java -jar ****.jar] для успешного запуска, как показано на следующем рисунке.
4. Возможные проблемы
·运行jar包出现【****.jar中没有主清单属性】错误
Причина: [узел mainClass] не настроен в pom или есть проблема с конфигурацией пути узла, расположение узла видно в коде на первом шаге
·运行jar包出现(因为我这边的第三方依赖包是oracle驱动,所以提示这个。也有可能是其它 得看你自己实际的引用情况)【java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver】
Причина: Зависимый пакет не обработан или возникла проблема с путем. В основном это происходит при использовании идеи для упаковки.
Примеры диаграмм для двух задач следующие:
Эпилог
Только если для протокола, для меня будет честью сообщить вам, будет ли это полезно.
Обновления будут добавлены
Пожалуйста, указывайте источник при перепечатке, LOVE & PEACE! --- By HAN