【发布时间】:2018-06-17 09:54:58
【问题描述】:
我在 IntelliJ IDEA 2018 中创建了一个 Spark maven 项目,并尝试导出我的主类的可执行 jar 文件。当我尝试将它提交到 Yarn 集群时,它会出错 The main class not found! 而 MANIFEST.MF 包含它:
Manifest-Version: 1.0
Main-Class: Test
我对 Apache Flink 和 IntelliJ 等其他处理引擎做了同样的事情,可以创建一个在集群上成功运行的可执行 jar 文件。
所以在 Spark 的情况下,我总是必须使用 maven-assembly-plugin 并使用以下命令导出 jar 文件:mvn clean compile assembly:single
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>Test</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
我猜这是因为 spark 依赖格式。我在使用 Spark 依赖项(不可执行)从我的书面类创建 jar 文件时遇到了同样的问题。例如,将spark-sql 依赖添加到Maven 项目最终会得到一些其他依赖,例如spark-catalyst。有没有办法使用 IntelliJ IDEA 导出 Spark 可执行 jar 文件?
【问题讨论】:
标签: maven apache-spark intellij-idea