Java Maven exec插件将参数传递给外部可执行文件

Java Maven exec插件将参数传递给外部可执行文件,java,maven,apache-spark,build,maven-plugin,Java,Maven,Apache Spark,Build,Maven Plugin,我正在尝试将我的应用程序配置为仅与mvn软件包exec:exec一起使用 我想要的是构建.jar并将其提交到外部二进制文件,我可以在mvn包之后手动完成,但我希望它是自动的。我认为maven exec插件是一个不错的选择 我当前的配置是: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <v

我正在尝试将我的应用程序配置为仅与
mvn软件包exec:exec
一起使用

我想要的是构建
.jar
并将其提交到外部二进制文件,我可以在
mvn包
之后手动完成,但我希望它是自动的。我认为maven exec插件是一个不错的选择

我当前的配置是:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.4.0</version>
  <executions>
    <execution>
      <goals>
        <goal>exec</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <executable>
      /bin/spark-submit
    </executable>
    <arguments>
      <argument>
         --class "package.Class" --master "local[4]" ${project.build.directory}/${project.build.finalName}.${packaging}                 
      </argument>
    </arguments>
  </configuration>
</plugin>
它执行:

/bin/spark-submit, --class "package.Class", --master "local[4]", myApp.jar
(更多逗号,也不是我想要的)

我希望maven执行:

/bin/spark-submit --class "package.Class" --master "local[4]" myApp.jar

我希望我想要的可以使用maven exec插件来完成,我的问题也能得到很好的理解。如果您能给我任何帮助,我将不胜感激。

我发现有一个可选的配置参数
,它正是我所需要的

因此,我的正确配置是:

...
<configuration>
  <executable>
    /bin/spark-submit
  </executable>
  <commandlineArgs>
    --class "package.Class" --master "local[4]" ${project.build.directory}/${project.build.finalName}.${packaging}
  </commandlineArgs>
</configuration>
...
。。。
/bin/spark提交
--类“package.class”--主控“local[4]”${project.build.directory}/${project.build.finalName}.${packaging}
...
这也适用于:

<configuration>
<executable>/Users/mike/Applns/apache/spark/spark-3.0.0-bin-hadoop3.2/bin/spark-submit</executable>
<arguments>
    <argument>--master</argument>
    <argument>local</argument>
    <argument>${project.build.directory}/${project.artifactId}-${project.version}.jar</argument>
</arguments>

/Users/mike/Applns/apache/spark/spark-3.0.0-bin-hadoop3.2/bin/spark-submit
--主人
地方的
${project.build.directory}/${project.artifactId}-${project.version}.jar
<configuration>
<executable>/Users/mike/Applns/apache/spark/spark-3.0.0-bin-hadoop3.2/bin/spark-submit</executable>
<arguments>
    <argument>--master</argument>
    <argument>local</argument>
    <argument>${project.build.directory}/${project.artifactId}-${project.version}.jar</argument>
</arguments>