可执行打包如下
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--scope 为 system 的 maven 默认是不打包进去的,此处设为 true 会把 scope 为 system 的依赖同样打到 jar 包中去。否则部署到其它环境运行可能会缺少依赖-->
<includeSystemScope>true</includeSystemScope>
<!--可执行-->
<executable>true</executable>
<!--增加jvm参数-->
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
<!--如果未指定,将使用找到的第一个启动入口类。也就是说如果只有一个启动类,那不需要去指定,如果你这个模块存在两个启动入口类,那么就需要在插件中指定具体哪个启动类了。-->
<mainClass>com.qiguliuxing.dts.admin.api.Application</mainClass>
</configuration>
<executions>
<execution>
<goals>
<!--repackage:这个是默认 goal,在 mvn package 执行之后,这个命令再次打包生成可执行的 jar,同时将 mvn package 生成的 jar 重命名为 *.origin-->
<!--可生成可执行的jar包或war包。插件的核心goal。-->
<goal>repackage</goal>
</goals>
<configuration>
<!--可执行 jar 包不可被依赖, 加上这个配置后会打两个 jar 包. eg: A.jar 和 A-exec.jar A.jar 可被依赖, A-exec.jar 可执行, 其中 exec 作为可执行 jar 包的后缀名-->
<classifier>exec</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
普通打包如下
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- source 表示编译源代码所需的最低 jdk 版本 -->
<source>8</source>
<!-- target 表示生成的 class 和 jar 文件可运行的最低jdk版本 -->
<target>8</target>
<compilerArguments>
<!--指定扩展库路径。其中${project.basedir}为当前模块根路径-->
<extdirs>${project.basedir}/src/main/resources/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>