6

我对 Maven 非常陌生,希望看到一个如何使用 maven jar 插件的示例。我已经访问过这里,但没有找到任何示例。在文档页面上,为此目标列出了一些参数,但我正在寻找的是如何将它们放在“目标”或“执行”标签中。谢谢。

4

2 回答 2

7

您通常不使用 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 文件)

无需添加任何目标或执行块,全局配置块对所有执行都有效。

参考:

于 2010-10-29T15:33:47.070 回答
6

我对 Maven 非常陌生,希望看到一个如何使用 maven jar 插件的示例。我已经访问过这里,但没有找到任何示例。

所有 maven 插件通常都有一个Usage页面,Maven JAR Plugin也是如此。但是正如seanizer所指出的,直接调用 Maven JAR 插件是不寻常的,你并没有真正“直接使用它”,Maven 确实如此。

Maven 带有一个构建生命周期,它由阶段(例如compiletestpackage等)和默认生命周期绑定(绑定到阶段的插件目标)组成,这取决于项目的打包。作为用户,您调用一个phase(例如package),然后 Maven 使用特定的插件目标来实际完成这项工作。

例如,对于packaging类型为 的项目jar,绑定的目标packagejar:jar,Maven 会将您的项目打包为 JAR。对于一个packaging类型为war,的项目, Maven 会在. 等等。war:warpackagepackage

这种方法的好处是,无论项目类型如何(jarwarear等),您都不需要知道构建它的细节。你只需要知道“已知”阶段:compile将编译一个项目,test将编译和运行测试,package将它打包,等等。

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

配置插件指南解释了配置任何Maven 插件的规则,这是通过指定一个<configuration>元素来完成的。这<configuration>可以是通用的(全局的)或特定于参与构建生命周期<execution>特定阶段的目标。一旦您知道如何配置其中一个,您就可以配置其中的任何一个(只有参数特定于每个插件)。

在 Maven JAR 插件的特殊情况下,一个全局<configuration>的就足够了,你不太可能需要一个特殊的<execution>(除了默认的)。

于 2010-10-29T22:09:27.263 回答