Maven中如何配置maven-compiler-plugin插件呢?
下文笔者讲述maven中配置JDK版本的方法分享,如下所示
maven配置JDK版本的方法
maven配置JDK的实现思路: 在maven项目的pom.xml文件中,添加maven-compiler-plugin插件 并在插件上配置jdk的版本信息例:指定JDK版本为17
<build> <plugins> <!-- 配置当前项目的jdk版本信息 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>17</source> <target>17</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> 然后点击Update Maven project
maven-compiler-plugin插件的功能
maven-compiler-plugin插件的功能: 用于设置项目源码所对应的jdk版本 编译后jdk版本及编码方式
maven-compiler-plugin 3.8.0定义示例
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>1.8</source> <!-- 源代码使用的JDK版本 --> <target>1.8</target> <!-- 需要生成的目标class文件的编译版本 --> <encoding>UTF-8</encoding><!-- 字符集编码,防止中文乱码 --> <skipTests>true</skipTests><!-- 跳过测试 --> <verbose>true</verbose> <showWarnings>true</showWarnings> <fork>true</fork><!-- 要使compilerVersion标签生效,还需要将fork设为true,用于明确表示编译版本配置的可用 --> <executable><!-- path-to-javac --></executable><!-- 使用指定的javac命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> --> <compilerVersion>1.3</compilerVersion><!-- 指定插件将使用的编译器的版本 --> <!-- 这下面的是可选项 --> <meminitial>128m</meminitial><!-- 编译器使用的初始内存 --> <maxmem>512m</maxmem><!-- 编译器使用的最大内存 --> <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument><!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 --> </configuration> </plugin>
采用以上方式定义的pom.xml只会对一个单独的maven项目起作用 如果我们向对所有的maven项目进行设置 此时我们可以在maven的settings.xml文件下进行统一配置例
maven之settings.xml文件
settings.xml位于maven安装目录conf文件夹 修改其中settings.xml文件 在profiles标签下加入 如下配置 <!-- ${MAVEN_HOME}/conf/settings.xml 文件添加如下profile配置,建立的java项目默认使用java 17 --> <profiles> <profile> <id>jdk-17</id> <activation> <activeByDefault>true</activeByDefault> <jdk>17</jdk> </activation> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion> </properties> </profile> </profiles>例2:全局设置为jdk8
<profile> <id>java-8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。