为啥从 Tomcat 6.0 移植 JBoss-7.2.0 应用程序后无法运行?

Posted

技术标签:

【中文标题】为啥从 Tomcat 6.0 移植 JBoss-7.2.0 应用程序后无法运行?【英文标题】:Why is JBoss-7.2.0 app not working after porting it from Tomcat 6.0?为什么从 Tomcat 6.0 移植 JBoss-7.2.0 应用程序后无法运行? 【发布时间】:2013-12-05 11:53:20 【问题描述】:

我有一个带有 JSF、Servlet、Spring、Hibernate、jBPM 的 Tomcat 6 应用程序。我执行以下操作将其“迁移”到 Tomcat 7.2.0.0-Final:-

    从 OpenLogic 下载 JBoss-7.2.0.0-Final,因为 JBOss 社区已经停止使用 JBoss-7.1.0.0-Final(应该是“错误的”)。

    根据 Tomcat server.xml 中的值在 JBoss Standalone.xml 中设置数据源。我从中得到了提示:jboss 7 oracle datasource configuration

    基于此http://www.mastertheboss.com/jboss-web-server/tomcat-to-jboss-migration进行了更多配置更改

    下载了ojdb6.jar,创建了对应的module.xml并添加到ojdb6.jar中。将它们都放在 JBoss-Home/modules/system/layers/base/com/oracle/main 文件夹中。

    从 Tomcat/webapps/myApplication 文件夹中创建了一个战争作为 xxx.war。 (它可能有递归战争,罐子。我不知道)。我将此 war 文件复制到 JBoss-Home/standalone/deployments 文件夹。

    我启动了 JBoss 服务器。然后我在http://localhost:32080 打开管理控制台,它成功连接到数据源,显示war 文件(xxx.war)正在部署。

    但是,当我在http://localhost:32080/xxx/login.jsf 处输入应用程序的 URL 时,会出现 404 错误。 (xxx 战争中有一个 login.xhtml 文件,我认为 xhtml 已映射到某处的 JSF)。

    在我启动 JBoss 的控制台中,我收到此错误:“无法启动服务 jboss.persistenceunit “xxx.war#xxxPersistanceUnit”...:org.hibernate.MappingException:解析文件时出错:jbpm .history.hbm.xml。

现在,Tomcat 版本使用的是 jBPM 3.2。据我所知,JBoss 7.2.0.0-Final 不包括 jBPM 框架。

也许这个问题有很多含糊之处,但有人可以告诉我要研究哪些领域才能克服这些问题并启动 Login.jsf 吗?

感谢和问候, 查克。

PS:- 在我看来,我必须将 jBPM 集成到我的 JBoss 应用程序中。这可能是问题所在。欢迎任何想法。

【问题讨论】:

【参考方案1】:

所以基本上你有一个你想要部署到 JBoss AS 7.2 的战争应用程序。从技术上讲,提供的 Web 容器是 JBoss Web。可以看到JBoss AS绑定的web容器版本here

我从未做过这个练习,但我认为您需要在适当的配置文件中进行更改(可能与独立 Tomcat 中的名称/结构不同)。在 JBoss AS 上部署 war 文件的说明在 here 进行了解释,在 JBoss Web 上进行了解释 here

关于依赖关系,如果您的应用程序需要一些由 Jboss AS 提供的依赖关系,那么您必须通过启用它们各自的模块来启用它们。如果您的应用程序在其代码中引用它们,则某些模块会被隐式包含,但由于 JBoss 的模块化特性,需要显式启用某些模块。

【讨论】:

以上是关于为啥从 Tomcat 6.0 移植 JBoss-7.2.0 应用程序后无法运行?的主要内容,如果未能解决你的问题,请参考以下文章

两个 java 应用程序之间的通信在 JBoss 7.0 中正常工作,但在 Tomcat 8.5 中不工作

为啥安装完tomcat 以后,每次启动都是拒绝访问,急需答案!

将 Spring Web App 从 tomcat 5.5 迁移到 tomcat 6.0 的问题

配置java_home到底有啥用?为啥tomcat一定要配置它?

myeclipse 2015中使用J2EE6.0版本新建Web Project,为啥不自动生成web.xml配置文件?

为啥在idea中启动tomcat后访问solr会404?