【发布时间】:2013-01-09 04:31:32
【问题描述】:
我一直在尝试完成两件我认为使用 Maven 非常简单的事情(我使用的是 3.0.3 和所有插件的最新版本),但无论我做什么,我似乎都做不到让它工作。我需要:
- 将所有文件(它们是图像)从 build/javadoc-css/resources/(相对于项目根目录)复制到 Javadoc 输出中的 resources/ 目录。我使用的样式表引用了该资源目录中的图像,我需要将关联的图像复制到该资源/目录中。到目前为止,您似乎只能复制 doc-files/ 目录中的文件。我希望我错过了一些东西,因为那是严重缺乏的。
- 将 build/jar/META-INF 中的所有文件(LICENSE.txt 和 NOTICE.txt,我认为这是每个人都需要复制的常见内容)复制到我所有输出 jar 中的 META-INF 目录。 (注意:我不想将 META-INF 目录与我的 LICENSE 和 NOTICE 文件放在源目录中,因为我有很多模块,并且我不想要这些文件的很多副本。)
为了完成 #1,我将精力集中在
对于#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 中,这将起作用:
<resource> <targetPath>META-INF</targetPath> <directory>../build/jar/META-INF</directory> </resource>。 Javadoc 资源/图像仍然没有骰子。
标签: maven jar javadoc meta-inf