1. 在项目pom文件中做打包相关的配置
首先在pom文件中添加如下配置(根据自己的项目设置scala版本和入口类完整路径),然后右键选择Maven -> Reload project
<properties>
<!--项目使用的Spark版本-->
<spark.version>3.1.2</spark.version>
<!--项目使用的Scala版本-->
<scala.version>2.12</scala.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scala.version}</artifactId>
<version>${spark.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
<!-- 打包的配置-->
<build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!--定义主程序运行入口-->
<mainClass>testSpark</mainClass>
</manifest>
</archive>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2. mvn 打包
然后在右侧maven栏中选择package打包
package成功完成后就能看到target目录下打包出的jar文件
3. 问题:运行jar包时报无法加载启动类
如果运行jar包时报无法加载启动类之类的错误,可能是项目没有编译成功,检查一下target的classes目录下是否有对应的启动类文件,如果没有则先在顶部的build -> build project 重新构建一下项目,让classes目录中有对应文件,再去打包项目即可。