Maven - 使用变量激活配置文件

时间:2016-12-02 12:23:21

标签: maven maven-3

我自动激活我的maven个人资料时出现问题。 当我使用变量(例如 $ {project.basedir} )时,它不起作用。

    <profiles>
    <profile>
        <id>prof1</id>

        <activation>
            <file>
                <exists>${project.basedir}\mark.txt</exists>
            </file>
        </activation>
        <build>
            <plugins>
                <plugin>...

当我编写没有变量的路径时,它完美无缺:

    <profiles>
    <profile>
        <id>prof1</id>

        <activation>
            <file>
                <exists>C:\projects\trainings\own\MavenPrj\mark.txt</exists>
            </file>
        </activation>
        <build>
            <plugins>...

文件C:\ projects \ trainings \ own \ MavenPrj \ mark.txt当然存在。

我的Maven版本是3.0.4。

此致 Piotrek

1 个答案:

答案 0 :(得分:2)

来自Maven的Introduction to Build Profiles

  

从Maven 2.0.9开始,标签&lt; exists&gt;和&lt;缺失&gt;可以插值。支持的变量是系统属性,如$ {user.home}和环境变量,如$ {env.HOME}。 请注意,POM本身定义的属性和值不能用于插值,例如上面的示例激活器不能使用$ {project.build.directory},但需要对路径目标进行硬编码。