我正在开发一个项目,该项目使用XML文件来提取许多属性,这些属性决定了我的应用程序的行为方式。 XML文件可以并且将随着时间的推移而改变,因为文件中的属性有助于针对某些情况调整我们的应用程序。我们希望让Maven将这个版本化的XML拉入其中,并将它放在我们构建中需要它的位置。这可能吗?
答案 0 :(得分:1)
这就是/src/main/resources
目录的用途,它将自动包含.jar
中.war
或classpath
中的所有内容。这在standard layout文档中有所描述。
对于版本控制,只需使用项目其余部分正在使用的标准版本控件。
答案 1 :(得分:0)
此插件用于从远程存储库检索JAR资源,处理这些资源,并将它们合并到使用Maven构建的JAR中。一个非常常见的用例是需要在整个组织中以一致的方式打包某些资源:在Apache,要求生成的每个JAR都包含Apache许可证的副本和引用给定项目中所有已使用软件的通知文件
编辑:
1)如果xml文件位于文件系统中而不是另一个jar或聚合源(如zip文件或其他内容),则可以在pom中使用resource section。它可以简单地将这个xml文件包含在项目输出中作为war或jar等。
2)但我相信这是你不应该喜欢的好方法。如果文件不依赖于文件服务器,请使用maven程序集插件创建聚合资源并使用maven远程资源插件来获取它。
3)如果所有这些策略都不适合您,只需将这些xml文件放在项目工作的文件系统中,您的项目就可以从文件系统而不是jar文件中使用它。无论何时需要更改它,请更改它并重新加载系统。