Java: Где Maven хранит системные свойства, заданные в файле pom.xml в скомпилированном jar-файле? - PullRequest
0 голосов
/ 02 февраля 2012

Мы указали кучу системных свойств в нашем определении плагина компилятора maven в pom.xml:

<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создать это поведение автозагрузки для системных свойств?Я хотел бы понять практическую реализацию этого поведения.

1 Ответ

0 голосов
/ 02 февраля 2012

Этого поведения я бы не ожидал (если я не понимаю вас).Системные свойства во время компиляции не должны сохраняться во время выполнения.

Я создал базовый проект maven, который просто распечатывает системные свойства, и он не содержит системных свойств, указанных в конфигурации плагина.

System.getProperties().getProperty("aKey") возвращается null во время выполнения, даже если плагин компилятора настроен так же, как ваш.

Какие-либо другие запущенные плагины, которые могут оказать влияние?Как вы получаете доступ к свойствам системы?

...