Maven:需要将图像复制到Javadoc,LICENSE / NOTICE文件到META-INF

时间:2013-01-25 08:21:10

标签: maven jar javadoc meta-inf

我一直试图完成两件事,我认为这对Maven来说是非常微不足道的(我使用3.0.3和所有插件的最新版本),但不管我做什么我似乎无法使其发挥作用。我需要:

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

    为了完成#1,我将我的工作集中在&lt; javadocDirectory&gt;上。和&lt; docfilessubdirs&gt;标签,但这些只适用于它出现的doc-files /目录。

    对于#2,我尝试了&lt; resource&gt;的几种变体。标记:

    变化#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>
    

    没有错误或文件在错误的地方。它就像我的资源标签甚至不存在一样。没有任何事情发生。

1 个答案:

答案 0 :(得分:0)

我建议将资源用于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