我想将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。确保注释有效。该错误为空。
我第一次写我的问题,请原谅我写代码的方式。
您可以将.war文件部署到EE容器中。重新打包为.ear文件的唯一优点是您可以捆绑多个.war文件以及服务端点ejb-jar文件(远程ejbs)。 – him 2014-11-25 05:38:39
我是否需要对persistance.xml文件做额外的工作?或entity.java类? – 2014-11-25 09:20:38
persistance.xml和entity.java类呢? – 2014-11-25 09:23:05