2012-08-27 32 views
0

使用javac,可以隱式地將java文件編譯爲來自特定源代碼樹的類文件。換句話說,可以指向給定的源代碼樹並且只編譯明確提到的java文件所需的java文件。使用maven構建時是否有可能獲得相同的功能?而且,如果是這樣,我將如何去做這件事?maven中的隱式編譯

編輯:我不是說定義一個特定的java源文件列表。標準的java編譯器允許使編譯器本身根據導入來確定依賴關係。如果在類路徑中找不到導入的類,則檢查源路徑以查看給定類是否存在java文件。如果有,那麼該java文件將被添加到編譯中。

+1

如果沒有找到滿意的答案,你總是可以運行從Maven的Ant腳本(正如我在答覆中提到),這本身就要求* javac的*(甚至可能爲外部可執行文件,而不是標準的方式)編譯器;正如你所說,編譯器知道如何按照你想要的方式編譯這些文件。 – Vic

+0

然而,奇怪的是,Maven在行爲不是javac不同。它默認使用javac。也許你爲插件切換*優化*關閉? – Vic

回答

1

您必須配置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> 

你也可以針對不同的行家型材做,如果你想包含/排除不同的文件集。