如何在 maven 中调用 exec:java 插件时传递系统属性?

2022-09-01 18:34:23

我想使用exec:java插件从命令行调用主类。我可以使用 从命令行传递参数,我不知道如何传递系统属性。我尝试了'-Dexec.systemProperties=“key=value”',但没有效果。-Dexec.args="arg0 arg1 arg2"

pom.xml看起来像这样:

  <plugin>  
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <configuration>
      <mainClass>ibis.structure.Structure</mainClass>
    </configuration>  
  </plugin>

答案 1

尝试为我关注它正常工作

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <configuration>
                <mainClass>ibis.structure.Structure</mainClass>
                <systemProperties>
                    <systemProperty>
                        <key>someKey</key>
                        <value>someValue</value>
                    </systemProperty>
                </systemProperties>
            </configuration>
        </plugin>

答案 2

无法在命令行上设置参数<systemProperties>

但是,由于不是分叉的,因此您只需将系统属性传递给maven,它也会被拾取。exec:javaexec:java

mvn -Dkey=value exec:java -Dexec.mainClass=com.yourcompany.yourclass \
    -Dexec.args="arg1 arg2 arg3"

推荐