我有几个由maven构建的项目,我想在它们之间共享一些常见的属性 - spring版本,mysql驱动程序版本,svn base url等等 - 所以我可以更新它们一次,它将反映在所有项目中.
我想过有一个带有所有属性的超级pom,但如果我改变其中一个问题,我需要增加它的版本(并更新所有poms继承它)或从所有开发人员的机器中删除它我不想这样做.
可以在pom外部指定这些参数吗?我仍然希望在父pom中具有外部位置定义.
我有一个这样的多模块项目:
parent
|
+-- childA
| +-- src/main/resources/application.properties
|
+-- childB
+-- src/main/resources/application.properties
+-- src/main/filters/filter.properties
Run Code Online (Sandbox Code Playgroud)
我application.properties使用filter.propertiesin childB 过滤了childA和childB.
我遵循这个策略将过滤器文件附加到childB的工件,然后将其解压缩到childA的目标上:
childA/target/filters/filter.properties
Run Code Online (Sandbox Code Playgroud)
childA有这样的资源过滤:
<build>
<filters>
<filter>target/filters/filter.properties</filter>
</filters>
</build>
Run Code Online (Sandbox Code Playgroud)
Eclipse正在标记错误childA/pom.xml:
加载属性文件'parent\childA\target\filters\filter.properties'时出错(org.apache.maven.plugins:maven-resources-plugin:3.0.2:copy-resources:default-resources:process-resources)
我构建应用程序时可以使用过滤器文件,因此我并不担心.
如何更新childA的pom.xml以永久忽略此错误?