Maven个人资料和属性

时间:2017-04-06 06:27:00

标签: maven properties profile

我们使用maven(版本3.3.9)并定义我们在属性secion中使用的库的版本。为此,我们使用属性和依赖性定义,如下所示:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <version.foobar.webjar>1.6.0</version.foobar.webjar>
</properties>
<dependencies>
    <dependency>
        <groupId>de.foobar</groupId>
        <artifactId>webjar</artifactId>
        <version>${version.foobar.webjar}</version>
    </dependency>
</dependencies>

这很好用,依赖项在配置的1.6.0版本中加载。

但是,如果我现在添加包含完全不同属性的配置文件,例如:

<profile>
    <id>testing</id>
    <properties>
        <test213>blabla</test213>
    </properties>
</profile>

并激活该配置文件,不再设置“version.foobar.webjar”并且编译失败。

另外,当我将“version.foobar.webjar”定义放在这样的配置文件中时:

<profile>
    <id>testing</id>
    <properties>
        <version.foobar.webjar>1.6.0</version.foobar.webjar>
    </properties>
</profile>

并激活配置文件,它也不起作用。我最好的猜测是,pom文件中使用的属性必须位于其自己的属性部分中,并且不能位于以下级别(如在配置文件中)。

但是,如果我在配置文件中定义完全不同的属性,那么仍然没有向我解释为什么pom中的属性不再起作用。

我想,我误解了http://maven.apache.org/guides/introduction/introduction-to-profiles.html 这些属性通过不同的级别加起来,但是我没有看到如何定义属性并在一个pom文件中包含具有属性的配置文件。

我希望,有人可以帮助我,因为我迷路了。

0 个答案:

没有答案
相关问题