我是Maven的新手,想看一个如何使用maven jar插件的例子。我已经访问了here,但没有找到任何示例。在文档页面上,列出了一些针对此目标的参数,但我要查找的是如何将它们放在“目标”或“执行”标记中。感谢。
答案 0 :(得分:6)
您通常不使用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文件)
无需添加任何目标或执行块,全局配置块对所有执行都有效。
<强>参考:强>
答案 1 :(得分:6)
我是Maven的新手,想看一个如何使用maven jar插件的例子。我已经去过这里,但没有找到任何例子。
所有maven插件通常都有Usage页面,Maven JAR Plugin也是如此。但正如seanizer指出的那样,直接调用Maven JAR插件是不常见的,你并不真正“直接使用它”,Maven确实如此。
Maven附带build lifecycle个阶段(例如compile
,test
,package
等)和default Lifecycle Bindings(插件目标绑定到阶段)这取决于您的项目的包装。作为用户,您调用phase
(例如package
),然后Maven使用特定的插件目标来实际完成工作。
例如,对于packaging
类型为jar
的项目,package
绑定的目标为jar:jar
,Maven会将您的项目打包为JAR。对于packaging
类型为war
的项目,war:war
绑定到package
,Maven会在package
期间生成WAR。等等。
此方法的好处是无论项目类型(jar
,war
,ear
等)如何,您都无需了解构建它的详细信息。您只需知道“已知”阶段:compile
将编译项目,test
将编译并运行测试,package
将打包它,等等。
在文档页面上,为此目标列出了一些参数,但我们正在寻找的是如何将它们置于“目标”或“执行”标记中。
Guide to Configuring Plug-ins解释了配置任何 Maven插件的规则,这是通过指定<configuration>
元素来完成的。对于参与build lifecycle特定阶段的目标,此<configuration>
可以是通用的(全局)或特定于<execution>
。一旦你知道如何配置其中一个,你可以配置其中任何一个(只有参数是特定于每个插件)。
在Maven JAR插件的特定情况下,全局<configuration>
应该足够了,您不太可能需要特殊的<execution>
(除了默认值之外)。