2009-07-28 86 views
4

我正嘗試在此工作空間中爲引用項目的常用JAR文件創建一個集中文件夾(在我的eclipse工作區中的某種「元項目」中)。它應該類似於Web項目的WEB-INF/lib文件夾,但也適用於非web項目,並自動掃描並在此文件夾中添加所有jar文件。用於eclipse項目的JAR文件文件夾

我試圖用這些jar文件創建一個用戶庫,並在項目中引用它們,但我仍然需要手動將每個新jar添加到用戶庫(並且不知道它是否是absoulute的相對引用)以及Tomcat(WTP)似乎並沒有將這些文件(運行方式 - >在服務器上運行)放入其類路徑中(我不想複製這些jar並將它們放入WEB-INF/lib中)。有任何想法嗎?

+0

呃...你不應該用Tomcat處理WAR文件嗎?那些總是使用上面提到的WEB = INF/lib。 – Powerlord 2009-07-28 13:36:12

+0

這並不能解決非WEB項目具有相同WEB-INF/lib文件夾功能的第一個問題。我直接從eclipse部署和運行Web項目(所以我只是想以某種方式將我的常規JAR文件文件夾添加到運行配置中的Tomcat類路徑中,但似乎不起作用) – Daff 2009-07-28 13:40:01

回答

6

+1爲常春藤。

如果你寧願做它在Eclipse中分離項目:

您加入「共同項目」作爲對其他項目的依賴(Java構建路徑 - >項目,然後添加)。但是,你有沒有出口'共同項目'的罐子? (在通用項目中:Java構建路徑 - >訂單和導出,然後檢查所有罐子)。

3

我建議不要這樣,當你有很多項目有重疊的依賴時,它會變成一個痛苦的屁股。

如果Project X使用commons-logging-1.0,但是有人創建了Project Z,那真的需要commons-logging-1.1呢?你想讓你的中央文件夾爲每個可能的版本號都有相同JAR的副本嗎?

使用像Maven或Ivy這樣的構建工具,它將爲您下載並處理相關的JAR。 maven-eclipse插件在爲Eclipse生成.project/.classpath文件方面做得相當不錯,它將自動將所有依賴的JAR放在構建路徑上,而m2eclipse也擅長處理來自Eclipse內部的依賴關係。

1

我認爲你應該認真看待Maven。您只需聲明每個項目所依賴的「工件」,Maven將負責從存儲庫中提取JAR,將它們添加到構建類路徑中,並將它們包含在WAR文件中。如果你想批量生成,你不​​需要創建一個Ant「build.xml」文件:只需從命令文件運行「mvn」即可。

1

我會考慮用Ivy extension擴展到Ant來管理這些東西,如果你想要這樣做的話,它有Maven兼容的好處。

將所有東西都扔進一大堆會最終給你帶來問題,因爲當你突然有兩個項目,一個使用可用版本創建THAT時,你會遇到版本問題,另一個是錯誤版本,和那些不是100%兼容的。

相關問題