我的项目中散布着各种位于包中的属性文件,当包目标从 Maven 构建运行时,这些属性文件不会被包含在内。
使用 0.10.2 m2eclipse 插件和默认的“package”目标。
在项目中:
src->main->java->mypackage->MyProperties.java
src->main->java->mypackage->MyProperties.properties
运行“package”目标后展开的war目录中:
target->classes->mypackage->MyProperties.class
-- 无属性文件 --
我正在努力让团队采用 Maven,解决这个问题将成为交易促成者。移动属性文件是不切实际的。任何帮助深表感谢。
将属性文件放在应用程序/库资源所属的位置,即在
src/main/resources
:
src/main/resources/mypackage/MyProperties.properties
它会被正确复制。
Pascal 的答案是正确的 Maven 做事方式。
但是一些开发人员喜欢将资源放在其来源旁边(例如,这是 wicket 中的标准程序)。
如果您要这样做,您必须将源文件夹添加到资源中:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
</build>
我帮助检查构建路径。资源的属性被排除在外。当我再次包含它们时,战争从资源中获取了所有属性文件,并且 tomcat 部署正确。