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客户端库,而是直接通过网络协议与...
2. **启动服务**:进入该目录下的`bin`文件夹,运行`startWeblogic.cmd`命令来启动WebLogic服务。 **1.4 登录Weblogic管理控制台** 1. **打开浏览器**:打开IE浏览器或其他浏览器。 2. **输入地址**:访问`...
### 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...
静默安装包,weblogic_12.2.1.4.0,weblogic12c最新版本,已测有效! WebLogic 12c是一个Java应用服务器,由Oracle公司开发。它提供了构建、部署和管理企业级Java应用程序所需的一切,包括一个集成的开发环境、一个...
linux下部署weblogic,1.1 部署前准备 把WebLogic的bin包放在/home目录上. 1、创建weblogic用户组。 groupadd weblogic
Weblogic 部署项目详细步骤使用手册 Weblogic 是一种流行的 Java EE 服务器,可以部署各种类型的 Web 应用程序。本文将详细介绍如何使用 Weblogic 部署 Web 项目,旨在帮助初学者快速上手。 前提条件 在开始部署...
### SSH项目部署在Window和Linux下的Weblogic上出现ClassNotFound异常解决办法 #### 背景介绍 在部署Java EE项目时,特别是采用SSH(Struts + Hibernate + Spring)架构的项目,在不同的应用服务器(如Tomcat、...
执行 domain 目录下 startWebLogic.sh,键入想要启动的 weblog server。 总结 本文档提供了 Linux 环境 Weblogic 超详细安装配置文档,涵盖了 Weblogic 的安装、配置和应用部署三个方面。用户可以按照文档中的步骤...
### Linux系统WebLogic安装部署详解 #### 一、部署前准备 在进行WebLogic服务器的安装之前,需要完成一系列的准备工作来确保环境符合要求。这些步骤包括但不限于创建必要的用户组和用户、设置工作目录以及调整系统...
在Linux(CentOS)环境下,配置Oracle WebLogic Server(WLS)以实现自动启动和部署项目,需要遵循一系列步骤。以下是对这些步骤的详细说明: ### 1. 创建WebLogic域 创建一个新的WebLogic域是配置的基础。首先,...