我對maven編譯器插件以及它做了什麼感到困惑。我有一個項目有幾個模塊。在我上面的pom.xml我有一個部分maven編譯器插件混淆
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<inherited>true</inherited>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
我的理解是這樣的指定用於編譯代碼的JDK編譯器版本,而這部分得到由所有模塊繼承。我沒有得到的是在我的IntelliJ IDEA中,我仍然可以在設置中指定項目JDK,並且它似乎會覆蓋此設置。當我在IDE中運行Maven安裝時,我可以確認它使用JDK 8中的javac進行編譯。那麼這部分究竟做了什麼?
但我只在我的系統上安裝了JDK 8。看起來,即使我在編譯插件中設置了版本,maven仍然可以正常運行。所以這個插件是無用的? – fhcat
JDK 8 _can_編譯針對JDK 7的源代碼,因此無關緊要,只有JDK 8。 插件並非無用;如果你想在沒有IntelliJ的情況下(例如通過Jenkins的CI)在外部運行你的構建,那麼它就會發揮作用。 – Andrei