2014-11-25 71 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目录中。

相关问题