gpt4 book ai didi

java - 使用和不使用 Maven 插件为 Maven 项目构建 jar 的区别

转载 作者:行者123 更新时间:2023-11-30 05:40:35 25 4
gpt4 key购买 nike

谁能解释一下在 pom.xml 中使用和不使用 Maven 插件为 Maven 项目构建 jar 的区别

我知道这些插件在 maven 中创建 jar 文件时很有用。

maven-jar-plugin builds jar
maven-assembly-plugin - builds jar with dependencies,
maven-shade-plugin - creates a standalone jar with resolved dependencies and resolves the conflicts between resource files that have the same name across the jars.

但是,我可以通过运行“mvn package”命令来创建一个 jar,而无需在 pom.xml 中使用任何插件。这个jar包和使用maven-jar-plugin生成的jar包有什么区别。

这是我的 pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Demo</groupId>
<artifactId>Demo</artifactId>
<name>test</name>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

</project>

最佳答案

使用“packaging=jar”时的 Maven 项目会在底层使用“maven-jar-plugin”。假设您遵循 Maven 标准,这将创建一个 jar。因此你的 jar 没有定制。

您可以使用“maven-jar-plugin”进一步自定义生成的 jar,您可以在 jar 中包含额外的文件等。

“maven-assemble-plugin”允许您使用自定义文件和文件夹生成 tar、zip 和其他压缩 Artifact 。

“maven-shade-plugin”允许您创建一个 fat jar,其中包含所有必需的第 3 方 jar 和主类。这使得您的 Artifact 可以轻松部署和执行。

关于java - 使用和不使用 Maven 插件为 Maven 项目构建 jar 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55735230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com