【问题标题】:what is the difference between maven-resources-plugin and the project.build.resources tag?maven-resources-plugin 和 project.build.resources 标签有什么区别?
【发布时间】:2012-08-07 11:09:52
【问题描述】:

我很难理解 maven 中 maven-resources-pluginproject.build.resources 标记之间的区别。

两者似乎有相同的目的。 maven-resources-plugin [resources, testResources and copy-resources] 的不同目标也可以使用资源标签来实现:

<resources>
  <resource>  
    <directory>src/dir</directory>
    <targetPath>dest/dir</targetPath>
  </resource>  
</resources>

<testResources>
  <testResource>
  <directory>src/test/dir</directory>
  </testResource>

并且使用&lt;resources&gt;标签将有效地将源目录中的指定文件复制到目标目录,类似于maven-resources-plugincopy-resources目标。

那么,它们之间有什么区别吗?
在任何特定情况下,它们的功能会有所不同吗?

【问题讨论】:

    标签: maven maven-resources-plugin


    【解决方案1】:

    maven-resources-plugin 是处理 pom.xml 文件中资源区域的那个。

    resources插件的定义是在maven的super pom中完成的。您可以使用以下命令检查使用的是哪个版本:

    mvn help:effective-pom
    

    此外,maven-resources-plugin 的 resources 目标与 pom 中的资源标签相关,而 testResources 标签与 maven-resources-plugin 的 testResources 目标相关。

    如果需要,可以使用 copy-resources 目标将资源等单独复制到输出文件夹。

    【讨论】:

    • 谢谢!因此,如果我使用&lt;resources&gt; 标签将文件从源目录复制到目标目录,它类似于使用带有复制资源目标的maven-resources-plugin,对吧?由于 maven-resources 插件负责处理 pom.xml 中的资源区域。
    • 这不仅相似,而且您正在使用 maven-resources-plugin。但是在资源标签的情况下,您正在使用绑定到适当阶段的资源目标。另请参阅 maven-resources-plugin 的文档和资源目标。
    • 所以区别只能在相位上?我们可以使用 maven-resources-plugin 指定不同的阶段,但不能使用资源标签。我将搜索&lt;resources&gt;标签的默认阶段是什么。感谢您的帮助!
    • 但是,在使用 maven 和 groovy 的项目中,我必须使用插件而不是标签 来排除文件夹,否则它不起作用。
    猜你喜欢
    • 2018-06-16
    • 2014-10-10
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 2017-09-18
    • 2014-04-19
    • 2011-05-10
    • 2019-09-26
    相关资源
    最近更新 更多