簡體   English   中英

maven編譯器插件2.0.2

[英]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無關。

我個人的偏好是出於以下原因進行明確配置。

  1. 我不認為依賴外部默認值是一個好主意,因為這些可能會在插件版本發生變化時發生變化。
  2. 我不太可能希望為Java 1.5編譯項目

暫無
暫無

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

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