【问题标题】:Change source directory in profile maven更改配置文件 Maven 中的源目录
【发布时间】:2013-10-03 01:11:24
【问题描述】:

我想为特定的 Maven 配置文件使用不同的源目录,但是,当我尝试在配置文件定义中指定它时,我收到此错误:

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

pom中的定义如下:

<profile>
    <id>development</id>
    <build>
        <sourceDirectory>${project.build.directory}/new-src</sourceDirectory>
        .
        . 
        .
    </build>
</profile>

当且仅当此配置文件处于活动状态时,我要做的是在编译之前处理源文件。我的过程将即时更改源文件,将更改的源文件放入“new-src”目录并编译该目录,就好像它是通常的“src/main/java”一样。生命周期中的其他一切都应该正常运行。如果这种方法有缺陷,谁能指出我正确的方向?

【问题讨论】:

    标签: maven


    【解决方案1】:

    根据documentation,您只能更改配置文件中的几个&lt;build&gt;参数,&lt;sourceDirectory&gt;不是其中之一。

    我将配置主 &lt;build&gt; 以从某个属性(例如 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>
    

    【讨论】:

    • 因此,如果(在 Eclipse Luna 中)我在 BuildPath 中添加(链接)(在我的 MavenProject 上单击鼠标右键)一个源文件夹,其目录为“/Users/MyName/Desktop/source” ,我必须写&lt;src.dir&gt;/Users/MyName/Desktop/source&lt;src.dir&gt; ??一切顺利吗?
    • @Tomek 我想知道上述设置是否也会在构建路径中采用引导模板?
    【解决方案2】:

    参见Maven model,不允许在配置文件中定义sourceDirectory。您唯一能做的就是在插件配置中指定 sourceDirectory,假设它可用。

    【讨论】:

      猜你喜欢
      • 2015-01-15
      • 2022-01-25
      • 2011-01-21
      • 1970-01-01
      • 2014-05-19
      • 2017-04-27
      • 2011-07-09
      • 2015-07-22
      • 1970-01-01
      相关资源
      最近更新 更多