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 に答える