2010-10-27 79 views
0

使用Maven構建ear文件時,包含WebSphere運行時的最佳方式是什麼?使用ant,我只是在類路徑中添加了lib目錄的絕對路徑。我已經讀過這個主題,似乎人們說使用系統範圍的依賴關係。但是,爲此,我需要獨立包含每個jar(並且WebSphere運行時中有很多jar)。包含WebSphere運行時

有沒有一種方法可以包含所有罐子的絕對路徑?我不需要耳朵文件中的這些文件,因爲它們在部署時將在服務器上可用。

回答

1

上面的丹的職位會工作,但它會增加一些額外的開銷。我們繼續使用Maven Ant任務(使用maven-ant-tasks jar; http://maven.apache.org/ant-tasks/)。這使我們可以使用我們現有的構建腳本,同時使用Maven的依賴關係。

在不久的將來,我們可能會考慮完全轉向Maven構建,但是根據我們的時間表,我們發現這是一個可接受的替代方案。希望這些信息證明有用。

3

有兩種,你可以完成你的任務:

  1. 如你所說,你可以聲明依賴作爲一個系統範圍依賴,並提供對JAR文件的路徑。雖然maven要求這些依賴關係是絕對的,但它還定義了已經解析爲POM文件所在位置的運行時屬性${basedir}

  2. 您可以將JAR文件添加到本地Maven存儲庫服務器(Nexus,Archiva等),然後聲明所提供的依賴範圍。這將把JAR文件拖放到機器上進行編譯和測試,但最終將它們從包中排除。

我已經完成了這兩種方法,並且系統範圍技術變得特別老舊,特別是當您添加也具有依賴關係的JAR時。在系統範圍內,你放棄了maven的傳遞依賴解析函數。然而,如果應用程序規模較小,1或2個開發人員,則版本庫服務器的開銷並不大。