2013-03-14 52 views
0

我已經繼承了一箇舊項目,使用ant來構建針對weblogic.jar。我這個移動到一個更現代的基於maven構建環境,我不希望在weblogic.jar檢查(這是34MB)進入我的私人神器庫,我不希望它要麼添加到我的本地庫。我不確定它使用了什麼,該項目是一個超過50萬行代碼的單片代碼庫。替代針對weblogic.jar進行編譯?

我們實際上不會對Weblogic的本地開發機器,我們要部署到遠程虛擬機由於企業的網絡拓撲的測試,讓我們的應用程序需要交談的服務。

我必須對建設什麼weblogic.jar替代。

+1

你需要什麼類嗎? Java EE 6 API似乎可以通過'central'獲得:http://mvnrepository.com/artifact/javax/javaee-api/6.0(通常的做法是將其設置爲'提供'。)如果您需要一個WebLogic特定的類,那麼最好的做法應該是保存在POM或settings.xml中配置的公司範圍的repo中。 – millimoose 2013-03-14 21:44:36

回答

1

由於Maven會下載它嘗試解析到本地存儲庫的所有內容,唯一方法(afaik)將使用maven-ant-task來包裝現有的ant任務。

個人而言,我寧願到WebLogic的東西加入到Maven倉庫。

1

如果你不想把它放到你的本地倉庫,你可以參考它使用的系統範圍依賴,在這種情況下,你只是指從磁盤到它。我不確定爲什麼這會是更好的選擇,但是既然你問了它,你可能有一個堅實的理由。

但是假設你不想使用的weblogic.jar都:這是不是真的可以說你有什麼替代方案,以建立針對它不知道你從它需要的東西。這需要先被發現。如果您使用weblogic特定的東西,您確實需要參考。

2

使用系統範圍通常被認爲是不好的做法。但是,我會說在weblogic.jar的情況下,使用系統範圍是有意義的。原因在於weblogic.jar不包含WLS安裝提供的所有類。如果您打開weblogic.jar並查看其中的MANIFEST.MF文件,它將在Class-Path:條目中包含一長串jar文件。這些jar引用都使用相對路徑。這意味着如果你把weblogic.jar放到maven倉庫中,相對路徑就會中斷,你需要更多的WLS jar文件到你的maven倉庫中。

問題是,如果您的系統範圍依賴關係指向WLS安裝中的weblogic.jar,則需要爲所有開發人員標準化WLS安裝目錄。否則,您的構建在其他開發人員的機器中不可移植。

+0

我可以問你,是weblogic.jar MANIFEST.MF類路徑可編輯嗎?我的意思是可以在安裝weblogic.jar之後將jar添加到classpath中。我無法控制它,而那些說不可能的人。出於某種原因,我不相信他們! – ssayyed 2014-02-18 16:39:28

+0

一旦安裝了WLS,它就在您的控制之下。你想做什麼,就可以做什麼。但是,不推薦。您不應將自己的jar文件粘貼到weblogic.jar MANIFEST.MF文件中。我想不出爲什麼你要這麼做。此外,您必須考慮從Oracle進行修補/升級,這可能會覆蓋您的更改。還有很多其他方法可以將jar文件添加到類路徑中。 – Lan 2014-02-18 16:43:27

相關問題