2014-11-25 102 views
0

我想將war文件打包到ear文件中,因爲我必須在webLogic上部署我的項目。我創建了一個動態Web項目,其中包含1個實體(java class)類和1個persistance.xml(以及許多其他lib文件,jsp文件,Java類)。我已經提取這個項目作爲戰爭文件。現在將其部署在weblogic上,我需要有一個ear文件。我不知道該怎麼做......當我簡單地將我的戰爭文件作爲一個網頁模塊加入耳內時,我得到了一個空指針異常。我相信我需要對persistance.xml和實體文件做些什麼。請幫忙。如何將一個war文件(包含persistence.xml和entity.java類)轉換爲ear文件?

當我在我的本地Tomcat上運行的動態Web項目它運行良好,並persistance.xml放置在SRC/metainf文件夾,如下所示:

persistence-unit name="MyWar" 

class PackageName.MyEntity class 

properties 
    property name="eclipselink.jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/> 
property name="eclipselink.jdbc.url" value="jdbc:oracle:thin:XYZ"/> 
property name="eclipselink.jdbc.user" value="USERNAME"/> 
property name="eclipselink.jdbc.password" value="PASSWORD"/> 
    property name="eclipselink.logging.level" value="SEVERE"/> 
property name="eclipselink.ddl-generation" value="create-tables"/> 
properties 

persistence-unit 

persistence ` 

放置項目上網絡的邏輯我使用JTA.My persistance.xml在src/metaInf中,看起來像這樣。

persistence-unit name="MyWar" transaction-type="JTA" 

    jta-data-source XYZ.datasource /jta-data-source 

    class packageName.MyEntity class 

    <exclude-unlisted-classes>false exclude-unlisted-classes> 

    persistence-unit 

    persistence 

我提取動態Web項目作爲一場戰爭並在EA項目加入它

我的application.xml(在EA項目)被放置在EARContent/MetaInf/application.xml中,看起來像這樣:

 display-name EARName display-name 

     module 

     web 

      web-uri MyWar.war web-uri 

      context-root MyWar context-root 

     web 

     module 

    application 

提取一個EAR並放入webLogic服務器。 錯誤:

2014年11月24日下午12點04分19秒GMT錯誤HTTP BEA-101371有處理針對應用的/ opt/DAP /域/ PORTALINSTANCE/INT /域/服務器/ MS1/TMP註釋時,故障/_WL_user/MYWARNAME/48n279/MYWARNAME.war。確保註釋有效。該錯誤爲空。

我第一次寫我的問題,請原諒我寫代碼的方式。

+0

您可以將.war文件部署到EE容器中。重新打包爲.ear文件的唯一優點是您可以捆綁多個.war文件以及服務端點ejb-jar文件(遠程ejbs)。 – him 2014-11-25 05:38:39

+0

我是否需要對persistance.xml文件做額外的工作?或entity.java類? – 2014-11-25 09:20:38

+0

persistance.xml和entity.java類呢? – 2014-11-25 09:23:05

回答

0

您可以將.war文件部署到EE容器中。重新打包爲.ear文件的唯一優點是您可以捆綁多個.war文件以及服務端點ejb-jar文件(遠程ejbs)。

persistence.xml將駐留在ORM/DAO層所在的位置(在WAR文件的META-INF目錄中,或者在ejb jar文件中,如果從war文件中分離出ejb層[假設你去.ear ]),如果你使用war打包,或者在你的ejb jar文件中,如果你將它拆分出來並作爲一個.ear文件進行部署,這些實體將位於WEB-INF/classes目錄中。

相關問題