我对 Maven 非常陌生,希望看到一个如何使用 maven jar 插件的示例。我已经访问过这里,但没有找到任何示例。在文档页面上,为此目标列出了一些参数,但我正在寻找的是如何将它们放在“目标”或“执行”标签中。谢谢。
2 回答
您通常不使用 jar 插件。如果将包装设置为 jar,目标 jar:jar 会自动执行。
如果要配置 jar 插件,请执行以下操作:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<excludes>
<exclude>**/*.xml</exclude>
</excludes>
</configuration>
</plugin>
(示例:从 jar 中排除所有 xml 文件)
无需添加任何目标或执行块,全局配置块对所有执行都有效。
参考:
我对 Maven 非常陌生,希望看到一个如何使用 maven jar 插件的示例。我已经访问过这里,但没有找到任何示例。
所有 maven 插件通常都有一个Usage页面,Maven JAR Plugin也是如此。但是正如seanizer所指出的,直接调用 Maven JAR 插件是不寻常的,你并没有真正“直接使用它”,Maven 确实如此。
Maven 带有一个构建生命周期,它由阶段(例如compile
、test
、package
等)和默认生命周期绑定(绑定到阶段的插件目标)组成,这取决于项目的打包。作为用户,您调用一个phase
(例如package
),然后 Maven 使用特定的插件目标来实际完成这项工作。
例如,对于packaging
类型为 的项目jar
,绑定的目标package
是jar:jar
,Maven 会将您的项目打包为 JAR。对于一个packaging
类型为war
,的项目, Maven 会在. 等等。war:war
package
package
这种方法的好处是,无论项目类型如何(jar
、war
、ear
等),您都不需要知道构建它的细节。你只需要知道“已知”阶段:compile
将编译一个项目,test
将编译和运行测试,package
将它打包,等等。
在文档页面上,为此目标列出了一些参数,但我正在寻找的是如何将它们放在“目标”或“执行”标签中。
配置插件指南解释了配置任何Maven 插件的规则,这是通过指定一个<configuration>
元素来完成的。这<configuration>
可以是通用的(全局的)或特定于参与构建生命周期<execution>
特定阶段的目标。一旦您知道如何配置其中一个,您就可以配置其中的任何一个(只有参数特定于每个插件)。
在 Maven JAR 插件的特殊情况下,一个全局<configuration>
的就足够了,你不太可能需要一个特殊的<execution>
(除了默认的)。