首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将外部jar作为依赖项添加到maven POM以进行编译,但在创建fat jar时将其排除

在使用Maven构建Java项目时,可以通过将外部的jar文件作为依赖项添加到项目的POM文件中,从而在编译过程中使用这些jar文件。然而,有时候我们可能希望在创建可执行的fat jar文件时排除这些外部依赖,以减小jar文件的大小。下面是一种实现方法:

在项目的POM文件中,通过使用Maven的dependencybuild插件来实现添加外部jar依赖和排除依赖的操作。具体步骤如下:

  1. dependencies节点下添加需要作为依赖项的外部jar,指定相应的groupIdartifactIdversion。例如:
代码语言:txt
复制
<dependencies>
    ...
    <dependency>
        <groupId>com.example</groupId>
        <artifactId>external-jar</artifactId>
        <version>1.0.0</version>
    </dependency>
    ...
</dependencies>
  1. build节点的plugins下添加maven-assembly-plugin插件,用于创建可执行的fat jar文件。例如:
代码语言:txt
复制
<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路径下的所有类。

  1. 运行mvn package命令,Maven将会自动下载所需的依赖项并将它们添加到编译过程中。同时,使用maven-assembly-plugin插件创建一个包含所有依赖项的可执行的fat jar文件。

请注意,上述步骤中的示例配置仅供参考,实际配置根据项目的具体需求可能会有所不同。在实际使用过程中,需要根据实际情况进行相应的调整。

希望这个答案能够帮助到你。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券