在使用Maven构建Java项目时,可以通过将外部的jar文件作为依赖项添加到项目的POM文件中,从而在编译过程中使用这些jar文件。然而,有时候我们可能希望在创建可执行的fat jar文件时排除这些外部依赖,以减小jar文件的大小。下面是一种实现方法:
在项目的POM文件中,通过使用Maven的dependency
和build
插件来实现添加外部jar依赖和排除依赖的操作。具体步骤如下:
dependencies
节点下添加需要作为依赖项的外部jar,指定相应的groupId
、artifactId
和version
。例如:<dependencies>
...
<dependency>
<groupId>com.example</groupId>
<artifactId>external-jar</artifactId>
<version>1.0.0</version>
</dependency>
...
</dependencies>
build
节点的plugins
下添加maven-assembly-plugin
插件,用于创建可执行的fat jar文件。例如:<build>
...
<plugins>
...
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<excludes>
<exclude>com/example/external/**</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
在上述配置中,excludes
节点中的exclude
标签用于排除指定路径下的依赖项。这里示例中排除了com/example/external
路径下的所有类。
mvn package
命令,Maven将会自动下载所需的依赖项并将它们添加到编译过程中。同时,使用maven-assembly-plugin
插件创建一个包含所有依赖项的可执行的fat jar文件。请注意,上述步骤中的示例配置仅供参考,实际配置根据项目的具体需求可能会有所不同。在实际使用过程中,需要根据实际情况进行相应的调整。
希望这个答案能够帮助到你。
领取专属 10元无门槛券
手把手带您无忧上云