在执行 maven 构建时,我正在尝试将许可证文件添加到我的所有 jar 中。我在每个类文件上都有许可证,但我希望将 License.txt 添加到每个 jar 中的每个 META-INF 文件夹中
我的项目有一个主 pom,它有六个模块,然后这些模块有自己的模块,最终进入一个生成 /target/<.jar-file> 的项目。构建和类级别的许可证正在工作,我只是想将物理 License.txt 添加到 META-INF 文件夹中。
我的文件(相对于主 POM)存储在 /src/resources/src-license.txt 中。我真的需要自动化方法来确保如果/当许可证更改时,我不必更新 50 个文件,我可以只更新一个,然后将其复制到其他位置。
我试过使用
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src/resources</directory>
<targetPath>/META-INF</targetPath>
<includes>
<include>src-license.txt</include>
</includes>
</resource>
</resources>
....
</build>
但这似乎不起作用。我还尝试了输出路径的一些替代方案,例如 ${project.build.outputDirectory}/META-INF 或 */META_INF,但也无济于事。有没有人有一些关于如何做到这一点的经验?谢谢
另外,我使用 maven-license-plugin 来确保每个类文件都粘贴了许可证信息,并且按预期运行。但同样,在类文件中,我在每个 <*.jar>/META-INF/ 中寻找一个外部 .txt 文件