【发布时间】:2015-06-22 16:28:01
【问题描述】:
我正在尝试将我的应用程序配置为仅使用 mvn package exec:exec。
我想要的是构建.jar 并将其提交到外部二进制文件,我可以在mvn package 之后手动执行此操作,但我希望它是自动的。我认为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>
它的作用是执行(来自 maven DEBUG 信息):
/bin/spark-submit, --class "package.Class" --master "local[4]" myApp.jar
我认为问题在于参数是要传递给 java 可执行文件的,所以它们用逗号分隔,这是我在执行 shell 命令时不想要的。
我尝试过的另一件事是拆分参数:
<arguments>
<argument>--class "package.Class"</argument>
<argument>--master "local[4]"</argument>
<argument>${project.build.directory}/${project.build.finalName}.${packaging}</argument>
</arguments>
执行:
/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 插件完成我想要的事情,并且我的问题可以很好地理解。如果您能给我任何帮助,我将不胜感激。
【问题讨论】:
标签: java maven apache-spark build maven-plugin