Проблема упаковки проекта maven в идее

Java

предисловие

нужно: хотите упаковать проект со сторонними зависимостями в пакет 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