在Maven配置文件中定义sourceDirectory

时间:2017-03-16 18:07:47

标签: java maven

在我的pom.xml文件中,我有:

<build>
    <sourceDirectory>src</sourceDirectory>
    <resources> .. </resources>
    <plugins> .. </plugins>
</build>

但是,当我尝试使用maven配置文件时:

 <profiles>
    <profile>
        <id>profileId</id>
        <build>
            <sourceDirectory>src</sourceDirectory>
            <resources> .. </resources>
            <plugins> .. </plugins>
        </build>
    </profile>
 </profiles>

Maven给我一个错误说:

Unrecognised tag: 'sourceDirectory' (position: START_TAG seen ...<build>\r\n                <sourceDirectory>... @14:34) 

为什么不允许我在配置文件中定义源目录?有没有办法在配置文件中定义sourceDirectory?

1 个答案:

答案 0 :(得分:2)

根据documentation,您只能更改个人资料中的少数参数,<sourceDirectory>不是其中之一。

我将主<build>配置为从某个属性定义的路径获取源(例如src.dir)并将此属性设置为src/main/java并在自定义配置文件中覆盖它:

<project>
    ...
    <properties>
        <src.dir>src/main/java</src.dir>
    </properties>
    <build>
        <sourceDirectory>${src.dir}</sourceDirectory>
        ...
    </build>
    <profiles>
        <profile>
            <id>development</id>
            <properties>
                <src.dir>${project.build.directory}/new-src</src.dir>
            </properties>
        </profile>
    </profiles>
</project>