2010-02-02 56 views
4

我正在使用MyEclipse,並使用自動部署我的Web和EJB項目的企業應用程序項目(EAP)。如何將簡單的Java項目部署到EAR中?

這些項目使用一些其他項目,只是POJO,「簡單」的Java項目。就像一個庫類的東西。

問題是,當我更改「簡單」java項目的某些內容時,我必須在JBoss中重新部署我的整個EAP以查看更改。

我想要的是一種在EAP中自動部署這些項目(POJO)的方法,因此熱代碼更換也適用於這些項目。

任何想法?

+0

爲什麼要將純Java應用程序部署爲EAR?如果他們不是webapps,他們是什麼? – skaffman 2010-02-02 14:22:48

+0

就像其他(耳朵,戰爭等)項目使用的LIB。 – 2010-02-02 14:24:52

+0

EAR通常不會以這種方式工作,它們不能充當其他EAR使用的庫。 EAR用於部署JavaEE組件。 – skaffman 2010-02-02 14:31:26

回答

1

在JBoss中,您可以將您的JAR放在server/default/deploy目錄中 - 至少在舊版本中是這樣 - 感謝JBoss special classloader(討厭它或喜歡它)。

對於WebLogic,可以使用「Shared Libraries」。

在這兩種情況下,所提及的功能都是專有的,即非標準功能,並且使用它們會使您的應用程序無法使用。


對不起,我的意思自動。像這樣:1)運行服務器2)修改Java項目(庫)上的東西3)哦 - 哦,我必須手動重新部署庫(製作jar,複製和重新啓動服務器)。我希望它能夠自動進行更改,就像熱點部署一樣。

Ahhhh,好的,現在就明白了。在這種情況下,「爆炸檔案部署」是MyEclipse(和JBoss)支持的方式。引用7.1 J2EE Project Deployment Modes

MyEclipse可以將Web,EJB和企業應用程序項目部署到任何啓用MyEclipse的應用程序服務器。 MyEclipse支持兩種部署打包模式:分解歸檔部署和打包歸檔部署。

  • 展開的歸檔部署 - 這是一個開發中心,但不規範的J2EE應用程序打包和部署模型。與打包部署類似,應用程序的可部署資源按照J2EE標準目錄/文件結構進行組織。但是,不是創建和部署單個存檔文件,而是應用程序服務器連接器將整個應用程序資源結構(目錄和文件)複製到服務器的特殊部署位置以獲取展開的存檔。 MyEclipse部署服務使用「Sync-on-Demand」技術,將保持所有MyEclipse項目部署與其相應的MyEclipse項目中的所有源更改同步。注意:爆炸部署不受J2EE標準支持,並且不受所有應用程序服務器支持。
+0

是的,我知道這一點,這就是我想要避免的。不管怎麼說,還是要謝謝你。 – 2010-02-02 15:34:55

+0

@Franco我不明白你的意思*我只想知道是否有辦法直接部署它們。 – 2010-02-02 16:04:41

+0

對不起,我的意思是自動的。像這樣: 1)正在運行的服務器 2)在Java項目(庫)上修改一些東西 3)哦 - 哦,我必須手動重新部署庫(製作jar,複製和重新啓動服務器)。 我希望它自動進行更改,就像熱部署類的東西。 – 2010-04-27 19:27:12

0

有可能是服務器的特定這樣做的方式,爲客戶提供共享庫的Java EE應用程序,但我不認爲Java EE的規範中包含的任何此類設施。一種方法是將其添加到服務器類路徑中,但通常應避免這種情況,並將應用程序作爲獨立單元捆綁在一起。耳朵。這看起來你已經在做。

這似乎是一個奇怪的要求,因爲你已經在做正確的方式,所以不要改變它。

0

如果要將簡單項目添加爲庫,是否考慮使用OSGI在運行時動態交換捆綁包。您無需重新部署所有應用程序,只需更換罐子即可。 jBoss有一個名爲jbossosgi的OSGI實現,它目前處於beta測試階段。

1

您可以部署爆炸式EAR,然後複製您更改的幾個文件?這就是我做我所有的發展。如果你改變了一個簡單的JSP或者Java類,你可以複製這些單獨的文件,服務器將會選擇它們。

+0

+1爆炸耳朵 - 在我看來,最快的方式來開發EE。 – justkt 2010-04-27 19:27:30

0

嘗試在2個獨立的EAR或WAR和EAR中分開POJO和J2EE元素並分別部署它們。我有和Weblogic項目相同的問題,並且如果我改變了惡意的東西,我總是部署EJB和所有的員工。這個想法不久前就到了我的面前。沒有時間去嘗試和完成這些項目。但你可以使用我的想法。

0

當我使用MyEclipse時,我找到了一種方法來在EAP中向Java模塊添加一個引用。在部署項目時,Java模塊將部署在AS中。

唯一的壞處是現在我需要手動管理application.xml。

全部解釋於this link

相關問題