[英]Intelij IDEA - Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile
[英]maven compiler plugin 2.0.2
能告訴我是否必須在我的POM中指定maven-compiler-plugin詳細信息:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
如果是,為什么如此,我明白它的作用,但不確定為什么需要它? 還沒有其他方法可以在maven中調用javac嗎?
能告訴我是否必須指定maven-compiler-plugin的詳細信息?
不。但它會使用Java 1.3或者石器時代的東西進行編譯。
如果是,為什么如此,我明白它的作用,但不確定為什么需要它?
答案是不'。 但這就是原因。 您確定不希望在新代碼上使用Java 1.3進行編譯。 你想要Java 5中的所有新功能。不是嗎? :)所以,你必須在已經混亂的POM中添加這些額外的行。
還沒有其他方法可以在maven中調用javac嗎?
沒有。 但是即使你沒有這個塊, mvn compile
或任何其他命令也可以工作。 但是,如果您的源代碼具有Java 5中的任何高級內容,但在先前版本中沒有,則編譯將失敗。
編輯1
當我有JDK 5時,它如何編譯為1.3?
好吧,有一個選項可以在Java編譯器中設置。 請參閱此處的Java編譯器選項: http : //docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html
它說你可以將source
等設置為舊版本。
maven-compiler-plugin部分是可選的。 如果您不在pom.xml中包含該部分,則應用默認值。
默認編譯器是javac,用於編譯Java源代碼。 另請注意,目前默認的源設置為1.5,默認目標設置為1.5,與您運行Maven的JDK無關。
我個人的偏好是出於以下原因進行明確配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.