战争构建中缺少包属性文件

问题描述 投票:0回答:3

我的项目中散布着各种位于包中的属性文件,当包目标从 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,解决这个问题将成为交易促成者。移动属性文件是不切实际的。任何帮助深表感谢。

eclipse maven-2 m2eclipse
3个回答
5
投票

将属性文件放在应用程序/库资源所属的位置,即在

src/main/resources
:

src/main/resources/mypackage/MyProperties.properties 

它会被正确复制。


2
投票

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>

0
投票

我帮助检查构建路径。资源的属性被排除在外。当我再次包含它们时,战争从资源中获取了所有属性文件,并且 tomcat 部署正确。

© www.soinside.com 2019 - 2024. All rights reserved.