有没有关于如何使用maven-jar-plugin的例子?

时间:2010-10-29 13:42:52

标签: maven-2 maven-jar-plugin

我是Maven的新手,想看一个如何使用maven jar插件的例子。我已经访问了here,但没有找到任何示例。在文档页面上,列出了一些针对此目标的参数,但我要查找的是如何将它们放在“目标”或“执行”标记中。感谢。

2 个答案:

答案 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个阶段(例如compiletestpackage等)和default Lifecycle Bindings(插件目标绑定到阶段)这取决于您的项目的包装。作为用户,您调用phase(例如package),然后Maven使用特定的插件目标来实际完成工作。

例如,对于packaging类型为jar的项目,package绑定的目标为jar:jar,Maven会将您的项目打包为JAR。对于packaging类型为war的项目,war:war绑定到package,Maven会在package期间生成WAR。等等。

此方法的好处是无论项目类型(jarwarear等)如何,您都无需了解构建它的详细信息。您只需知道“已知”阶段:compile将编译项目,test将编译并运行测试,package将打包它,等等。

  

在文档页面上,为此目标列出了一些参数,但我们正在寻找的是如何将它们置于“目标”或“执行”标记中。

Guide to Configuring Plug-ins解释了配置任何 Maven插件的规则,这是通过指定<configuration>元素来完成的。对于参与build lifecycle特定阶段的目标,此<configuration>可以是通用的(全局)或特定于<execution>。一旦你知道如何配置其中一个,你可以配置其中任何一个(只有参数是特定于每个插件)。

在Maven JAR插件的特定情况下,全局<configuration>应该足够了,您不太可能需要特殊的<execution>(除了默认值之外)。