在maven项目中,所有属性文件,xml文件都需要位于资源文件夹中。如果我想要我的属性文件,则需要src/main/java/com/search/search.properties
然后我需要把它放在resources/com/search/search.properties
。是否有必要?
因为现在他们在java文件夹中,当我在托管模式下运行maven项目时它运行正常。但是当我创建war时,它不包含war/web-inf/classes/com/search/search.properties
中的属性文件。
当我把它放在resources/com/search/search.properties
然后它只包含在war文件夹中。
答案 0 :(得分:1)
根据Maven standard directory layout您必须将应用程序/库相关资源放入src/main/resources
,如果您不这样做,当maven想要打包您的应用程序时(War,Jar或......)仅将src/main/resources
中的资源复制到您的包中。
答案 1 :(得分:0)
这实际上取决于你如何管理事物。默认情况下,如果使用src / main / resources,maven会小心。
另外,只需验证您在构建中的资源标记中是否包含正确的包含/排除标记。
<build>
<outputDirectory>${project.build.directory}/${project.artifactId}/WEB-INF/classes</outputDirectory>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
<resource>
<directory>src/main/resources/</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<build>