`
tengfeineu
  • 浏览: 7251 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

linux下weblogic部署SSH项目出现问题 org.hibernate.hql.ast.HqlToken

阅读更多
Windows下 Tomcat下的SSH项目要部署到linux weblogic下,首先对项目涉及目录(D:\ linux 没有盘符)相关的地方进行修改(通过System.getProperty("os.name"))。

1、将项目部署后,能访问到jsp页面,但是一提交就会出现取不到数据现象,于是乎在windows下再进行测试,是能取到数据,在同事的帮助下通过打Log,查看哪行代码有问题(Linux下自己没有相关的IDE,只能在Windows下修改代码,再将代码部署到linux下),通过主动抛异常的方式找到错误所在:
nested exception is org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

通过网上查资料(这里不给链接了 公司的网络不敢恭维啊,又断了),大致原因就是包冲突(antlr.jar Hibernate和weblogic都要要这个包,不知道该加载谁的),有好几个解决方案,有的方案很麻烦的要修改jar包之类的,我选择了一个最简单的,修改配置文件,也就是让weblogic强制先加载项目的jar包。

weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<container-descriptor>
<index-directory-enabled>true</index-directory-enabled>
<!-- 关键!!!先加载web-inf下的jar包 -->
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>

weblogic-application.xml

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-application>
<!-- 用于解决anltr jar包冲突问题 -->
<prefer-application-packages>
<package-name>antlr.*</package-name>
</prefer-application-packages>
</weblogic-application>

2、将上述配置文件加到项目上,从新部署项目,然而又出现下面的问题:
java.lang.NoSuchMethodError: javax.xml.transform.dom.DOMResult.getNextSibling()Lorg/w3c/dom/Node;
        at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:201)
        at org.apache.xalan.transformer.TransformerIdentityImpl.setDocumentLocator(TransformerIdentityImpl.java:881)
        at com.opensymphony.xwork2.util.DomHelper$DOMBuilder.setDocumentLocator(DomHelper.java:233)
        at com.opensymphony.xwork2.util.location.LocationAttributes$Pipe.setDocumentLocator(LocationAttributes.java:302)
        at com.opensymphony.xwork2.util.DomHelper$StartHandler.setDocumentLocator(DomHelper.java:292)
        Truncated. see log file for complete stacktrace

我感觉是xml无法解析,是不是配置文件和weblogic版本不一致的原因,由于我的网又被断了,不能百度,Google现在在中国基本废了。在指导人的帮助下,说是jar包冲突。于是将xml-apis-1.0.b2.jar和xercesImpl.jar删了,问题终于解决了。

PS:对于有经验的人来说这些问题都可以自己独立解决,然而对于我这个刚从大学毕业大学生来说,自己解决方案还是很少,就像第一个错误,我一直在找我部署的问题,我直接部署的是文件夹而不是war包的形式,还有就是需要打断点来找错我所在(然而Linux下没有IDE),可以通过打log来找问题所在的地方,还有就是项目做的比较完善,有的异常没有抛出来,需要自己抛。最后一点就是公司的网啊...真是不敢恭维,我大周末的来重现问题,又断网了...
分享到:
评论

相关推荐

    weblogic12 下 org.hibernate.hql.ast.HqlToken

    在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关,特别是在不同Hibernate版本依赖同一个类库的不同版本时更为常见...

    weblogic10.3 org.hibernate.hql.ast.HqlToken报错问题

    在本问题中,我们遇到了一个特定的错误,即“weblogic10.3 org.hibernate.hql.ast.HqlToken报错”,这涉及到Hibernate ORM框架和其在WebLogic上的运行。让我们深入探讨这个问题,以及可能的解决方案。 首先,`org....

    weblogic10 与hibernate冲突解决方案 linux windows环境全解

    weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...

    linux 下weblogic部署web项目

    linux 下weblogic部署web项目,先新建新端口,然后配置用shartxxxx.sh后台启动项目,最后部署项目

    weblogic.jdbc.vendor.oracle.OracleThinBlob jar包下载

    `weblogic.jdbc.vendor.oracle.OracleThinBlob`是Oracle JDBC驱动的一个组件,主要用于处理Oracle数据库中的Blob字段。"Thin"模式意味着它是一种轻量级的驱动,不依赖于Oracle客户端库,而是直接通过网络协议与...

    WebLogic平台下部署Servlet与Jsp

    2. **启动服务**:进入该目录下的`bin`文件夹,运行`startWeblogic.cmd`命令来启动WebLogic服务。 **1.4 登录Weblogic管理控制台** 1. **打开浏览器**:打开IE浏览器或其他浏览器。 2. **输入地址**:访问`...

    WebLogic部署应用程序(图解).

    ### WebLogic部署应用程序详解 #### 引言 在企业级应用开发中,Oracle WebLogic Server作为一款高性能的Java EE中间件服务器,被广泛应用于各种复杂的企业应用环境中。它提供了多种方式来部署Java应用程序,包括...

    Linux下weblogic安装及应用部署.docx

    ### Linux环境下WebLogic安装与应用部署详解 #### 一、概述 在Linux环境下安装WebLogic并部署应用是一项常见的任务,特别是在企业级应用服务器环境中。本文档详细介绍了如何在Red Hat Enterprise Linux (RHEL) 6.5 ...

    antlr-2.7.6rc1.jar

    解决weblogic抛出的ClassNotFoundException: org.hibernate.hql.ast.HqlToken异常

    weblogic.jdbc.vendor.oracle.OracleResultSet jar包

    其中,WebLogic的JDBC模块是连接数据库的关键组件,而`weblogic.jdbc.vendor.oracle.OracleResultSet`则是这个模块中的一个重要类,主要用于处理Oracle数据库查询结果集。 `OracleResultSet`是WebLogic针对Oracle...

    linux下部署weblogic

    linux下部署weblogic,1.1 部署前准备 把WebLogic的bin包放在/home目录上. 1、创建weblogic用户组。 groupadd weblogic

    weblogic部署项目详细步骤使用手册

    Weblogic 部署项目详细步骤使用手册 Weblogic 是一种流行的 Java EE 服务器,可以部署各种类型的 Web 应用程序。本文将详细介绍如何使用 Weblogic 部署 Web 项目,旨在帮助初学者快速上手。 前提条件 在开始部署...

    SSH项目部署在window和linux下的Weblogic上出现 ClassNotFound异常解决办法

    ### SSH项目部署在Window和Linux下的Weblogic上出现ClassNotFound异常解决办法 #### 背景介绍 在部署Java EE项目时,特别是采用SSH(Struts + Hibernate + Spring)架构的项目,在不同的应用服务器(如Tomcat、...

    Linux环境Weblogic超详细安装配置文档

    执行 domain 目录下 startWebLogic.sh,键入想要启动的 weblog server。 总结 本文档提供了 Linux 环境 Weblogic 超详细安装配置文档,涵盖了 Weblogic 的安装、配置和应用部署三个方面。用户可以按照文档中的步骤...

    Linux系统weblogic安装部署详解

    ### Linux系统WebLogic安装部署详解 #### 一、部署前准备 在进行WebLogic服务器的安装之前,需要完成一系列的准备工作来确保环境符合要求。这些步骤包括但不限于创建必要的用户组和用户、设置工作目录以及调整系统...

    WebLogic在linux上的安装及项目部署

    以上步骤详细介绍了WebLogic在Linux上的安装和项目部署过程,但请注意,实际操作中可能会遇到更多具体问题,如网络配置、权限设置、依赖库安装等,都需要根据实际情况进行调整和解决。此外,为了保证系统的稳定性和...

    linux(centOS)下weblogic创建域部署项目到开机启动收集.pdf

    在Linux(CentOS)环境下,配置Oracle WebLogic Server(WLS)以实现自动启动和部署项目,需要遵循一系列步骤。以下是对这些步骤的详细说明: ### 1. 创建WebLogic域 创建一个新的WebLogic域是配置的基础。首先,...

    weblogic Weblogic WLS组件漏洞处置 补丁10.3.6.0.0升级10.3.6.0.12

    WebLogic是Oracle公司的一款企业级应用服务器,广泛用于构建、部署和管理企业级Java应用程序。在WebLogic中,WLS(WebLogic Server)是核心组件,负责处理HTTP请求,管理应用部署,提供JMS(Java Message Service)...

Global site tag (gtag.js) - Google Analytics