簡體   English   中英

源和目標的Maven編譯器插件jdk版本

[英]Maven compiler plugin jdk versions for source and target

我在pom.xml中為maven-compiler-plugin配置了以下配置。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

什么應該是jdk的源和目標版本? 它取決於我的電腦上安裝的jdk的版本? 願他們與眾不同嗎? 例如,安裝的jdk為1.8,源參數為1.6,目標為1.7。

對於源/目標,您只需定義javac的開關,這意味着生成兼容的代碼。 例如,如果您已經安裝了jdk 8並且想要創建java 7可運行的類。 但它不會檢查您是否安裝了JDK 8。 如果安裝了JDK 7,這也可以。

如果你真的需要檢查安裝的JDK版本,你必須通過maven-enforcer-plugin並檢查已安裝的JDK ...

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.4</version>
        <executions>
          <execution>
            <id>enforce-java</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireJavaVersion>
                  <version>1.8.0</version>
                </requireJavaVersion>
              </rules>    
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

有了上述內容,您將無法再使用JDK 7構建...僅使用JDK 8 ...

順便說一句:你為​​什么要使用這么老的maven-compiler-plugin版本?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM