2014-10-27 24 views
0

我想指定在Maven/IntelliJ IDEA中使用哪個Java JDK版本。我想使用JDK 7,但源似乎總是在JDK 8。我已經做了不少的事情來編譯,這是IntelliJ IDEA的我的項目結構的設置截圖:Maven未指定Java JDK?

http://i.stack.imgur.com/wabk2.png

這是我的pom.xml。正如你所看到的,我正在使用屬性和maven編譯器插件。

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-   4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 

<groupId>me.staticjava</groupId> 
<artifactId>VillagerMerchants</artifactId> 
<version>1.0-SNAPSHOT</version> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.2</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

<properties> 
    <maven.compiler.source>1.7</maven.compiler.source> 
    <maven.compiler.target>1.7</maven.compiler.target> 
</properties> 

<repositories> 
    <repository> 
     <id>spigot-repo</id> 
     <url>http://repo.md-5.net/content/groups/public/</url> 
    </repository> 
</repositories> 

<dependencies> 
    <dependency> 
     <groupId>org.spigotmc</groupId> 
     <artifactId>spigot-api</artifactId> 
     <version>1.7.9-R0.3-SNAPSHOT</version> 
     <type>jar</type> 
    </dependency> 

    <dependency> 
     <groupId>org.bukkit</groupId> 
     <artifactId>craftbukkit</artifactId> 
     <version>1.7.9-R0.3-SNAPSHOT</version> 
    </dependency> 
</dependencies> 

我不知道爲什麼,但代碼在1.8 ALWAYS編譯...

任何幫助嗎?

感謝, 〜StaticJava

+2

當你在控制檯上運行'mvn --version'時,你會得到什麼? – user432 2014-10-27 22:16:45

+0

http://i.gyazo.com/d87a30f40436588c116d585ead85e0e7.png @ user432 – StaticJava 2014-10-27 22:18:18

+1

您是否在intellij中使用java_home指定了不同的jdk?要檢查在IDE中運行相同的命令。 – Hannes 2014-10-27 22:20:18

回答

0

你需要進入Settings - >Project Settings - >Maven - >Runner並檢查JRE設置。

礦被設置爲使用項目JDK(1.7)但它聽起來像你的設置是不同的。

順便說一句,我想你知道你的pom(1.7)中的「語言級別」是與你編譯的實際JDK不同的設置。例如,你可以很好地使用JDK 1.8,但編譯到語言級別Java 7 ... :)

祝你好運。