经验贴:利用Maven打包时的注意事项

1、两种打包依赖的方法

  1. 带依赖项的胖jar包
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.5.0</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.example.App</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  1. 不带依赖项的瘦jar包
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.example.App</mainClass> <!-- 替换为你的主类 -->
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

2、遇到的奇怪的问题

  1. 部分依赖在运行时缺失
  • 解决办法:可以把这个依赖放在java地址中的jre/ext文件下
  1. 已经正确导入包,但是项目中使用的还是父依赖的包,且忽略指定包还是没效果
  • 解决办法:可以把这个依赖放到父依赖前面
posted @ 2025-09-01 14:37  RTower  阅读(15)  评论(0)    收藏  举报