默认情况下,Maven 打包的 JAR 文件不会包含它的依赖项。Maven 只会打包项目本身的类文件。如果你想要创建一个包含所有依赖项的 JAR 文件(也称为 “fat JAR” 或 “uber JAR”),需要使用额外的插件,例如 maven-assembly-plugin
。
以下是使用 maven-assembly-plugin
创建包含所有依赖项的 JAR 文件的示例:
- 首先,在你的
pom.xml
文件中添加maven-assembly-plugin
的配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
- 然后,在项目根目录下运行以下命令来生成包含所有依赖项的 JAR 文件:
mvn clean package
这个命令会在 target
目录下生成一个名为 your-artifactId-1.0-SNAPSHOT-jar-with-dependencies.jar
的文件,其中 your-artifactId
和 1.0-SNAPSHOT
会根据你在 pom.xml
文件中指定的值进行替换。