java - 在 Maven 配置文件中定义 sourceDirectory

标签 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?

最佳答案

根据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>

关于java - 在 Maven 配置文件中定义 sourceDirectory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42841744/

相关文章:

java - 比较两个字符串并将索引存储在整数数组中

java - 当我在 liferay 中一个接一个地部署两个 portlet 时,第二个部署的 portlet 正在取消部署 liferay 中的第一个部署的 portlet

maven - 如何从父pom继承依赖到子pom

java - 同一插件的源目录之间的 Tycho/Maven 交叉引用

maven - 在 pom.xml 中设置 Maven 的代理(而不是在 settings.xml 中)

java - Tomcat JNDI数据源错误 "No suitable driver"

Java:对数字字符串数组进行排序

Java编程用户定义类

java - Maven在尝试连接到Cloudera URL以获取CDH Jar位置时显示错误

java - 运行 Maven 项目时出错 : Unsupported protocol: t3