繁体   English   中英

Maven Jar插件和Maven Source插件有什么区别?

[英]What's the difference between Maven Jar Plugin and Maven Source Plugin?

我正在阅读有关如何使用Maven创建jar文件的内容,但我看到了一些使用Maven Source Plugin的pom.xml文件以及其他使用Maven Jar插件的文件。

在Apache Maven Project页面中,我找到了以下描述:

Apache Maven JAR插件
此插件提供了构建jar的功能。 如果您想签名罐子,请使用Maven Jarsigner插件。


Apache Maven源插件
Source Plugin创建当前项目的源文件的jar存档。 默认情况下,jar文件在项目的目标目录中创建。


阅读这些描述,我对使用一个插件或其他插件时存在疑问,以及有什么不同或好处,因为我知道两者都做同样的事情。

  • Apache Maven JAR插件用于构建包含.class文件的jar文件,以便以字节码格式分发应用程序或库。

  • Apache Maven Source Plugin用于构建包含源文件(.java文件)的jar文件,以便IDE在调试时显示源代码。 此jar文件与包含.class文件的jar文件结合使用。

maven jar插件

jar插件从Maven项目创建一个JAR文件。 jar插件的jar目标绑定到Maven默认生命周期的包阶段。 当您键入mvn clean install时,Maven将执行默认生命周期中的所有阶段,包括安装阶段,其中还包括程序包阶段。

maven源插件

源插件使用项目源代码创建JAR文件。 它定义了五个目标:聚合,jar,测试jar,jar-no-fork和test-jar-no-fork。 源插件的所有这五个目标都将在默认生命周期的包阶段运行。

与我们之前讨论过的任何插件不同,如果您想使用Maven默认生命周期执行源插件,则必须在项目POM文件中定义它,如下所示。 超级POM文件没有定义源插件; 它必须在你的Maven项目中

有什么区别

两者都创建JAR文件; 但是,jar插件从二进制工件创建一个JAR文件,而源插件从源代码创建一个JAR文件。 小规模开源项目使用此方法将相应的源代码与二进制工件一起分发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM