使用javac,可以隱式地將java文件編譯爲來自特定源代碼樹的類文件。換句話說,可以指向給定的源代碼樹並且只編譯明確提到的java文件所需的java文件。使用maven構建時是否有可能獲得相同的功能?而且,如果是這樣,我將如何去做這件事?maven中的隱式編譯
編輯:我不是說定義一個特定的java源文件列表。標準的java編譯器允許使編譯器本身根據導入來確定依賴關係。如果在類路徑中找不到導入的類,則檢查源路徑以查看給定類是否存在java文件。如果有,那麼該java文件將被添加到編譯中。
使用javac,可以隱式地將java文件編譯爲來自特定源代碼樹的類文件。換句話說,可以指向給定的源代碼樹並且只編譯明確提到的java文件所需的java文件。使用maven構建時是否有可能獲得相同的功能?而且,如果是這樣,我將如何去做這件事?maven中的隱式編譯
編輯:我不是說定義一個特定的java源文件列表。標準的java編譯器允許使編譯器本身根據導入來確定依賴關係。如果在類路徑中找不到導入的類,則檢查源路徑以查看給定類是否存在java文件。如果有,那麼該java文件將被添加到編譯中。
您必須配置maven的編譯器設置哪些文件包含/排除:
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugi ns</groupId>
<artifactId>maven-compiler-plug in</artifactId>
<configuration>
<!-- put your configurations here -->
</configuration>
</plugin>
</plugins>
</build>
</project>
你也可以針對不同的行家型材做,如果你想包含/排除不同的文件集。
對於Maven的編譯器插件可以使用包括和排除套,在那裏你可以指定排除和列入彙編文件名patters。您也可以使用Ant腳本。
詳情請參閱http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html。
如果沒有找到滿意的答案,你總是可以運行從Maven的Ant腳本(正如我在答覆中提到),這本身就要求* javac的*(甚至可能爲外部可執行文件,而不是標準的方式)編譯器;正如你所說,編譯器知道如何按照你想要的方式編譯這些文件。 – Vic
然而,奇怪的是,Maven在行爲不是javac不同。它默認使用javac。也許你爲插件切換*優化*關閉? – Vic