maven-compiler-plugin版本指定方式

maven-compiler-plugin版本指定

spring cloud微服務,生成部署JAR包時提示:

maven-compiler-plugin: 3.8.1不能編譯,需要jre而不是jdk。

1 pom文件添加支持

    <!-- 部署版本生成時的插件編譯支持>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
    </dependency -->
<!-- 部署版本生成時的插件編譯支持 -->

一般情況,做這一步就可以瞭,若不可以再進行下面步驟。

2 環境jdk/jre指定

3 Java Build

4 pom文件去除支持

通常上面三個步驟說可以,再次構建時若又提示不能編譯,可註釋掉相應支持,即可。

    <!-- 部署版本生成時的插件編譯支持>
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
    </dependency -->

maven-compiler-plugin配置JDK版本

Maven3.x 項目中默認使用 JDK1.5,這顯然不是我想要的。 Apache Maven Compiler Plugin 可以用來配置編譯所用的 JDK版本

倉庫地址

https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin

  • <version>2.3.2</version> 2.4 以上才支持 servlet 3.0
  • 我猜去掉 <version>2.3.2</version> 應該默認用最新版,所以是 Servlet 3.1

使用過的配置

  • JDK1.7
  • Servlet 3.0
    <build>
        <finalName>kerduo</finalName>
        <plugins>  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-compiler-plugin</artifactId>  
                <version>2.3.2</version> 
                <configuration>  
                    <source>1.7</source>  
                    <target>1.7</target>  
                </configuration>  
            </plugin>  
        </plugins> 
    </build>
  • JDK1.8
  • Servlet 3.1
  <build>
    <finalName>demo</finalName>
    <plugins>  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-compiler-plugin</artifactId>  
                <version>3.7.0</version>  
                <configuration>  
                    <source>1.8</source>  
                    <target>1.8</target>  
                </configuration>  
            </plugin>  
        </plugins> 
  </build>

補充說明

  • maven-compiler-plugin:控制編譯 (所以JDK版本是設置這它)
  • spring-boot-maven-plugin 用於打包

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: