在自定义 Maven 插件中,我使用addResource
.MavenProject
这适用于 JAR 项目,但对于 EAR,我看到相关文件被复制到target/classes
然后被忽略。它不存在于 EAR 中。
有一个 earSourceDirectory 属性,我可能可以通过将其设置为来“欺骗”Maven,target/classes
但这似乎是错误的方式。
如何处理应该打包到 EAR 中的生成资源?
在自定义 Maven 插件中,我使用addResource
.MavenProject
这适用于 JAR 项目,但对于 EAR,我看到相关文件被复制到target/classes
然后被忽略。它不存在于 EAR 中。
有一个 earSourceDirectory 属性,我可能可以通过将其设置为来“欺骗”Maven,target/classes
但这似乎是错误的方式。
如何处理应该打包到 EAR 中的生成资源?
Maven EAR 插件完全忽略了可以为给定工件设置的所有“资源”目录。相反,正如您所提到的,它仅依赖于earSourceDirectory
属性引用的目录,src/main/application
即默认值。(见https://maven.apache.org/plugins/maven-ear-plugin/ear-mojo.html#earSourceDirectory)
因此,您有两个选择:要么将该属性值更改为您建议的指向target/classes
,要么生成您的文件(就像我们为一个项目所做的那样)src/main/application
,然后它们将被 maven-ear-plugin 自动拾取。