【问题标题】:Maven: Need to copy images into Javadoc, LICENSE/NOTICE files into META-INFMaven:需要将图像复制到Javadoc,LICENSE/NOTICE文件到META-INF
【发布时间】:2013-01-09 04:31:32
【问题描述】:

我一直在尝试完成两件我认为使用 Maven 非常简单的事情(我使用的是 3.0.3 和所有插件的最新版本),但无论我做什么,我似乎都做不到让它工作。我需要:

  1. 将所有文件(它们是图像)从 build/javadoc-css/resources/(相对于项目根目录)复制到 Javadoc 输出中的 resources/ 目录。我使用的样式表引用了该资源目录中的图像,我需要将关联的图像复制到该资源/目录中。到目前为止,您似乎只能复制 doc-files/ 目录中的文件。我希望我错过了一些东西,因为那是严重缺乏的。
  2. 将 build/jar/META-INF 中的所有文件(LICENSE.txt 和 NOTICE.txt,我认为这是每个人都需要复制的常见内容)复制到我所有输出 jar 中的 META-INF 目录。 (注意:我不想将 META-INF 目录与我的 LICENSE 和 NOTICE 文件放在源目录中,因为我有很多模块,并且我不想要这些文件的很多副本。)

为了完成 #1,我将精力集中在 标记上,但这些仅适用于它出现的 doc-files/ 目录。

对于#2,我尝试了 标签的几种变体:

变体 #1:

<resource>
    <directory>build/jar/META-INF</directory>
    <targetPath>META-INF</targetPath>
    <includes>
        <include>LICENSE.txt</include>
        <include>NOTICE.txt</include>
    </includes>
</resource>

变体 #2:

<resource>
    <directory>build/jar</directory>
    <targetPath>META-INF</targetPath>
    <includes>
        <include>META-INF</include>
    </includes>
</resource>

变体 #3:

<resource>
    <directory>build/jar/META-INF</directory>
    <targetPath>META-INF</targetPath>
    <includes>
        <include>**</include>
    </includes>
</resource>

没有错误或文件在错误的位置。就像我的资源标签甚至不存在一样。什么都没有发生。

【问题讨论】:

  • 我找到了 META-INF 资源部分。我的项目有多个模块,我将上述资源声明放在父 POM 中。但它需要在每个子 POM 中。如果将其放置在每个子 POM 中,这将起作用:&lt;resource&gt; &lt;targetPath&gt;META-INF&lt;/targetPath&gt; &lt;directory&gt;../build/jar/META-INF&lt;/directory&gt; &lt;/resource&gt;。 Javadoc 资源/图像仍然没有骰子。

标签: maven jar javadoc meta-inf


【解决方案1】:

我建议将资源放在 Maven 中的javadoc into the appropriate folder

yourproject
  |-- src
     |-- main
        |-- java
        |  |-- org
        |     |-- apache
        |        |-- myapp
        |         `-- App.java
        |         `-- package-info.java
        |-- javadoc
         `-- overview.html
           |-resources
           |-- org
              |-- apache
                 |-- myapp
                  `-- package.html
                    |-- doc-files
                     `-- app.png

【讨论】:

  • 那行不通。它仍然只复制 doc-files 目录中的文件。我的图片直接位于 resources/ 下方并被忽略。
猜你喜欢
  • 2017-12-08
  • 2014-07-06
  • 2012-05-06
  • 1970-01-01
  • 2017-05-25
  • 2014-05-26
  • 2017-02-09
  • 2017-01-29
  • 2016-04-11
相关资源
最近更新 更多