2015-09-27 54 views
1

我希望能夠使用Ant在較大的Java項目中基於單個類構建一個jar文件,並讓它自動確定依賴關係。Ant可以在構建jar文件時確定依賴關係

我可以愉快地創建一個Ant build.xml文件來爲包含所有類的項目創建一個jar,儘管這包含了jar中不需要的許多東西。

當我只包括一個單一的源文件,即:

<patternset id="source.pattern"> <include name="MyProject/src/java/com/myproject/cow.java" /> </patternset>

然後生成JAR我得到cannot find symbol明顯的投訴(關於被在cow.java使用項目中的對象),這表明它只包含我指定的文件。

事實上,它可以檢測缺失的符號/類/對象表明它能夠做我需要的東西。

我不希望它從Eclipse構建。我只是想創建一個build.xml從命令行運行。

在此先感謝。

+1

不,這不是依賴系統的工作方式。沒有可以解決這個問題的魔法系統。對於Ant,你必須看看常春藤來管理你的依賴關係,但通常Maven或Gradle是更好的選擇。儘管如此,你仍然必須顯式聲明你的依賴關係。 –

回答

0

否Ant無法自動確定依賴關係。這就是爲什麼像Maven和Ivy這樣的項目被引入的原因之一。

它可以檢測缺失的符號/類/對象的事實表明它能夠做我需要的東西。

這不是Ant檢測缺少的類,它是底層的Java編譯器(通常是JDK中的javac)。所以你的假設是不正確的。

+0

這樣才能感知編譯器檢測到丟失的類。謝謝! – CoreyP