maven-compiler-plugin插件
maven-compiler-plugin插件用于编译项目代码,其默认JDK版本可能不适用所有项目。通过配置插件的source和target属性,可以指定源码和目标编译的JDK版本,解决版本不匹配导致的编译问题。
maven-compiler-plugin插件的主要作用
-
指定JDK版本:Maven默认使用的JDK版本可能并不符合项目的实际需求,这样就容易出现版本不匹配,以至于可能导致编译不通过的问题。通过使用maven-compiler-plugin插件可以明确指定源代码所使用的JDK版本,以及编译后的类库运行的JVM版本,从而确保项目在不同环境中的一致性和稳定性。
-
设置编码方式:源代码的编码方式对于编译和运行环境至关重要,maven-compiler-plugin插件允许设置代码和目标代码的编码方式,以防止因编码不一致导致的编译错误或乱码问题。
-
优化编译过程:maven-compiler-plugin插件提供了丰富的配置选项,可以对编译过程进行细粒度的控制。例如,可以设置是否使用增量编译、是否生成调试信息等,以提高编译效率和代码质量。
注意点
在配置maven-compiler-plugin插件时,需要注意以下几点:
- 插件版本:确保使用的maven-compiler-plugin版本与Maven版本和JDK版本兼容,不同版本的插件可能具有不同的功能和配置选项。
- JDK版本:根据项目实际需求选择合适的JDK版本,如果项目使用了较新的Java特性,需要确保JDK版本支持这些特性。
- 编码方式:确保源代码文件的编码方式与maven-compiler-plugin设置的编码方式一致,以避免编码问题导致的编译错误。
配置项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <!-- 版本,要和jdk版本匹配 --> <version>3.8.1</version> <configuration> <!-- 源码jdk版本 --> <source>1.8</source> <!-- 目标jdk版本 --> <target>1.8</target> <!-- 编码 --> <encoding>UTF-8</encoding> <!-- 输出编译的详细细节,方便了解编译情况 --> <verbose>true</verbose> <!-- 要使compilerVersion标签生效,还需要将fork设为true, 用于明确表示编译版本配置的可用。 fork和executable一般搭配使用,如果省略executable并设置true, maven编译器插件默认选择JAVA_HOME/bin/javac二进制文件, 如果设置了false,maven编译器插件将通过ToolProvider接口选择编译器。 这意味着不会启动新进程,Maven正在运行的JavaVM与会进行编译。 executable表示javac的绝对路径,默认会寻找环境变量JAVA_HOME的位置。 executable也可以自己设置一个路径。--> <fork>true</fork> <!-- 设置外部jdk命令 --> <executable>${JAVA_HOME}/bin/javac</executable> <!-- 最小内存 --> <meminitial>128m</meminitial> <!-- 最大内存 --> <maxmem>512m</maxmem> <!-- 设置编译时jdk的版本信息 --> <compilerVersion>1.8</compilerVersion> </configuration> </plugin> </plugins> </build>
spring-boot-maven-plugin插件
该插件是项目打包插件,可以配置打包的参数,不同参数会打出不同的jar/war包
|
|
goals的可选值
-
build-image: 将程序使用 buildpack 打包进容器镜像中。
-
build-info:生成项目的构建信息文件 build-info.properties。根据当前 MavenProject 的内容生成一个 - build-info.properties 文件
-
help:显示帮助信息。调用mvn spring-boot:help -Ddetail=true -Dgoal=以显示参数详细信息。
-
repackage:可生成可执行的jar包或war包。插件的核心goal。 默认的 goal,将普通 mvn package 打包成的 jar 重新打包成包含所有程序依赖项的可执行 jar/war 文件,并保留 mvn package 打包的 jar 为 .original 后缀
-
run:运行 Spring Boot 应用
-
start:在集成测试阶段,控制生命周期。通常用于集成测试方案中,在 mvn integration-test 阶段管理 Spring Boot 应用的生命周期。
-
stop:在集成测试阶段,控制生命周期。停止已通过 start 目标启动的应用程序。通常在 integration– test 完成后调用。
打包
将SpringBoot项目打包成Jar文件
方法一
在idea右侧的Maven工具栏里面选择要打包的项目—>点击Lifecycle—>点击package。打包好的jar文件默认会生成在左侧项目列表的target里面。
方法二
进入需要打包的项目主目录,在地址栏输入cmd,进入命令行控制台,在命令行执行以下代码。
|
|
注意事项
- jdk的环境变量需要配置好
- maven的也要加入环境变量中
运行
|
|