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来找问题所在的地方,还有就是项目做的比较完善,有的异常没有抛出来,需要自己抛。最后一点就是公司的网啊...真是不敢恭维,我大周末的来重现问题,又断网了...
分享到:
相关推荐
在使用WebLogic 12部署应用程序时,可能会遇到与`org.hibernate.hql.ast.HqlToken`相关的异常问题。这种异常通常与Hibernate版本之间的不兼容性有关,特别是在不同Hibernate版本依赖同一个类库的不同版本时更为常见...
在本问题中,我们遇到了一个特定的错误,即“weblogic10.3 org.hibernate.hql.ast.HqlToken报错”,这涉及到Hibernate ORM框架和其在WebLogic上的运行。让我们深入探讨这个问题,以及可能的解决方案。 首先,`org....
weblogic10 与hibernate冲突解决方案 错误如下:org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken linux windows 环境解决方案全解 Linux 启动脚本添加如下: export USER_...
linux 下weblogic部署web项目,先新建新端口,然后配置用shartxxxx.sh后台启动项目,最后部署项目
`weblogic.jdbc.vendor.oracle.OracleThinBlob`是Oracle JDBC驱动的一个组件,主要用于处理Oracle数据库中的Blob字段。"Thin"模式意味着它是一种轻量级的驱动,不依赖于Oracle客户端库,而是直接通过网络协议与...
### WebLogic部署应用程序详解 #### 引言 在企业级应用开发中,Oracle WebLogic Server作为一款高性能的Java EE中间件服务器,被广泛应用于各种复杂的企业应用环境中。它提供了多种方式来部署Java应用程序,包括...
### Linux环境下WebLogic安装与应用部署详解 #### 一、概述 在Linux环境下安装WebLogic并部署应用是一项常见的任务,特别是在企业级应用服务器环境中。本文档详细介绍了如何在Red Hat Enterprise Linux (RHEL) 6.5 ...
解决weblogic抛出的ClassNotFoundException: org.hibernate.hql.ast.HqlToken异常
其中,WebLogic的JDBC模块是连接数据库的关键组件,而`weblogic.jdbc.vendor.oracle.OracleResultSet`则是这个模块中的一个重要类,主要用于处理Oracle数据库查询结果集。 `OracleResultSet`是WebLogic针对Oracle...
linux下部署weblogic,1.1 部署前准备 把WebLogic的bin包放在/home目录上. 1、创建weblogic用户组。 groupadd weblogic
Weblogic 部署项目详细步骤使用手册 Weblogic 是一种流行的 Java EE 服务器,可以部署各种类型的 Web 应用程序。本文将详细介绍如何使用 Weblogic 部署 Web 项目,旨在帮助初学者快速上手。 前提条件 在开始部署...
5. **ClassNotFoundException: org.hibernate.hql.ast.HqlToken**:这可能是因为Hibernate库未被正确引入。确认Hibernate的相关jar包已包含在`WEB-INF/lib`目录下,并且WebLogic Server能正确识别。 6. **"There is...
### SSH项目部署在Window和Linux下的Weblogic上出现ClassNotFound异常解决办法 #### 背景介绍 在部署Java EE项目时,特别是采用SSH(Struts + Hibernate + Spring)架构的项目,在不同的应用服务器(如Tomcat、...
Weblogic 部署 Web 项目 在 Weblogic 中部署 Web 项目是指将编译后的文件夹或编译后的 WAR 文件部署到 Weblogic 服务器上,以便访问 Web 项目。下面将详细介绍 Weblogic 部署 Web 项目的过程。 一、创建 Web 项目 ...
执行 domain 目录下 startWebLogic.sh,键入想要启动的 weblog server。 总结 本文档提供了 Linux 环境 Weblogic 超详细安装配置文档,涵盖了 Weblogic 的安装、配置和应用部署三个方面。用户可以按照文档中的步骤...
### Linux系统WebLogic安装部署详解 #### 一、部署前准备 在进行WebLogic服务器的安装之前,需要完成一系列的准备工作来确保环境符合要求。这些步骤包括但不限于创建必要的用户组和用户、设置工作目录以及调整系统...
以上步骤详细介绍了WebLogic在Linux上的安装和项目部署过程,但请注意,实际操作中可能会遇到更多具体问题,如网络配置、权限设置、依赖库安装等,都需要根据实际情况进行调整和解决。此外,为了保证系统的稳定性和...
在Linux(CentOS)环境下,配置Oracle WebLogic Server(WLS)以实现自动启动和部署项目,需要遵循一系列步骤。以下是对这些步骤的详细说明: ### 1. 创建WebLogic域 创建一个新的WebLogic域是配置的基础。首先,...
WebLogic是Oracle公司的一款企业级应用服务器,广泛用于构建、部署和管理企业级Java应用程序。在WebLogic中,WLS(WebLogic Server)是核心组件,负责处理HTTP请求,管理应用部署,提供JMS(Java Message Service)...