0

我们在 pom.xml 中的 maven 编译器插件定义中指定了一堆系统属性:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
                <encoding>${project.build.sourceEncoding}</encoding>

                <systemProperties>
                    <systemProperty>
                        <key>aKey</key>
                        <value>aValue</value>
                    </systemProperty>
                </systemProperties>
             <!-- ....etcetera.... -->

这些是在执行 jar 时自动加载的

Maven 如何为系统属性创建这种自动加载行为?我想了解这种行为的实际实现。

4

1 回答 1

0

这不是我所期望的行为(除非我误解了你)。编译时系统属性不应在运行时持久化。

我创建了一个基本的 maven 项目,它只打印出系统属性,它不包含插件配置中指定的系统属性。

System.getProperties().getProperty("aKey")null即使编译器插件配置与您的相同,也会在运行时返回。

运行的任何其他插件可能会产生影响?您如何访问系统属性?

于 2012-02-02T13:51:03.547 回答