在maven web项目(使用JBoss上的Eclipse开发)中,我已将文件 displaytag.properties
paging.banner.placement=both
在以下三个位置:
/myapp/src/main/java/displaytag.properties
/myapp/src/main/resources/displaytag.properties
/myapp/src/displaytag.properties
但是,无法识别该文件。它不会影响生成的表格。
我有什么想法可以理解什么是错的?
来自DisplayTag Configuration properties:
对于整个Web应用程序,创建一个名为的自定义属性文件 displaytag.properties并将其放在应用程序类路径中 (简单地进入WEB-INF / classes)。 Displaytag将使用的语言环境 请求对象,以确定属性文件的语言环境 使用;如果指定文件中不存在所需的密钥,则为密钥 将从更通用的属性文件中加载。
我的文件夹结构中没有WEB-INF/classes
,因为此文件夹不是由Maven创建的。
更新
我发现了我的属性文件未在生成的war文件中从/myapp/src/main/resources/*.properties
复制到WEB-INF/classes
的原因。我的pom文件中有以下设置:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>applicationContext.xml</include>
<include>security-config.xml</include>
</includes>
</resource>
<resource>
<targetPath>WEB-INF/classes</targetPath>
<filtering>false</filtering>
<directory>../src/main/resources</directory>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
</resources>
答案 0 :(得分:1)
WEB-INF/classes
是在生成的war文件中在运行时找到webapp类的位置。 Maven的目标是生成这个war文件。检查文件是否确实在Maven生成的war文件中。
Maven项目中此类文件的适当位置为/myapp/src/main/resources/displaytag.properties
。此位置中的文件被视为必须与生成的工件中的类一起复制的资源。如果不是这种情况,则意味着资源插件未被使用,或者以排除此文件或从其他目录获取资源的方式进行配置。