专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > JBoss

jboss eap(jboss 七) java应用编译通过,部署后启动报找不到类

发布时间:2010-06-14 16:54:10 文章来源:www.iduyao.cn 采编人员:星星草
jboss eap(jboss 7) java应用编译通过,部署后启动报找不到类
如题,java程序依赖dom4j.jar,在pom.xml添加依赖后编译通过,但是部署到JBOSS启动就报找不到dom4j里面的类,什么原因呢?
------解决思路----------------------
有一点,你没注意到:
编译和运行是两回事。
你编译时使用 Maven 引入了 dom4j 支持类库,那只是那个 maven builder 本身的功能,跟 JBoss 没有关系。
在编译时需要用的类,在运行时也依然要求出现在 class path 清单中。

在 Eclipse 中 Java Build Path 顾名思义,它只是解决“Build”问题时的 class path,跟 "Run” 时的 class path 没有任何关系。

现在你在 JBoss 中运行时少了 dom4j,那你把 dom4j 复制到 jboss 上的某个 lib 目录下不就正常了?

------解决思路----------------------
jboss中包含了dom4j模块,jboss-as-7.1.1.Final\modules\org\dom4j\main\module.xml

在你的部署包中,增加一个文件 jboss-deployment-structure.xml,例子如下 

<jboss-deploym ent-structure xm lns="urn:jboss:deploym ent-structure:1.0">
<deploym ent>
<dependencies>
<m odule nam e="javax.faces.api" slot="1.2" export="true"/>
<m odule nam e="com .sun.jsf-im pl" slot="1.2" export="true"/>
</dependencies>
</deploym ent>
<sub-deploym ent nam e="jboss-seam -booking.war">
<exclusions>
<m odule nam e="javax.faces.api" slot="m ain"/>
<m odule nam e="com .sun.jsf-im pl" slot="m ain"/>
</exclusions>
<dependencies>
<m odule nam e="javax.faces.api" slot="1.2"/>
<m odule nam e="com .sun.jsf-im pl" slot="1.2"/>
</dependencies>
</sub-deploym ent>
</jboss-deploym ent-structure>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: