SSH框架在weblogic 部署经常会出现类似的情况
- 格式:doc
- 大小:105.50 KB
- 文档页数:2
weblogic安装配臵及常见问题在安装、配臵WEBLOGIC时,主要有以下几个方面的配臵和问题:一、JSP的设臵1。
weblogic.properties文件中的设臵在PROPERTIES文件中对于JSP进行设臵:# Set up WebLogic JSP propertiesweblogic.httpd.register.*.jsp=\weblogic.servlet.JSPServletweblogic.httpd.initArgs.*.jsp=\pageCheckSeconds=1,\compileCommand=c:/jdk1.3/bin/javac.exe,\workingDir=C:/weblogic/myserver/classfiles,\encoding=gb2312(或GBK),\verbose=true2。
查看JSP生成的JAVA代码在上边的配臵中,到workingDir指定的目录下查找相应目录下的JAVA文件。
在测试JSP时,如果出现编译问题,由于报错位臵不精确,因此经常需要查看相应的JAVA源文件,以便找到真正的问题所在3。
手工编译JSP的方法运行setEnv.sh;java weblogic.jspc your.jsp二、SERVLET的设臵1。
如何进行SERVLET的登记?#用于进行servlet的登记weblogic.httpd.register.test_servlet=doctor.servlets.test_servlet weblogic.httpd.register.test1_servlet=doctor.servlets.test1_servlet weblogic.httpd.register.test2_servlet=doctor.servlets.test2_servlet2。
如何不登记一个SERVLET,而直接测试该SERVLET首先在weblogic.properties文件中登记weblogic.httpd.register.servlets=weblogic.servlet.ServletServlet然后在浏览器中键入:http://host:7001/servlets/your_package/your.class3。
Weblogic 部署在windows和linux的问题总结1Weblogic 11在windows下部署SSH项目问题1.1报错:web.xml节点配置有注释1.1.1报错原因:这个web.xml里面的<param-value> 节点有注释多了这个<!--classpath*:/sso/*.xml -->注释<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:/applicationContext.xml<!-- classpath*:/sso/*.xml --></param-value></context-param>1.1.2报错现象:正在加载ADS Framework 初始化配置,请稍候......<2012-7-10 下午12时06分47秒CST> <Warning> <HTTP> <BEA-101162> <User defined listener com.augurit.ads.fw.listener.AdsFrameworkInitCheckListener failed: ng.IllegalStateException: applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder..ng.IllegalStateException: applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder.at org.springside.modules.utils.AssertUtils.state(AssertUtils.java:426)atorg.springside.modules.utils.spring.SpringContextHolder.assertContextInjected(SpringContextHol der.java:87)atorg.springside.modules.utils.spring.SpringContextHolder.getBean(SpringContextHolder.java:48) atcom.augurit.ads.fw.listener.AdsFrameworkInitCheckListener.checkSysConfig(AdsFrameworkInitCheckListener.java:35)atcom.augurit.ads.fw.listener.AdsFrameworkInitCheckListener.contextInitialized(AdsFrameworkIni tCheckListener.java:27)Truncated. see log file for complete stacktrace><2012-7-10 下午12时06分47秒CST> <Error> <Deployer> <BEA-149231> <Unable to set the activation state to true for the application '_appsdir_rmls_dir'.weblogic.application.ModuleException:at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1510)at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:482)atweblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) Truncated. see log file for complete stacktraceCaused By: ng.IllegalStateException: applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder.at org.springside.modules.utils.AssertUtils.state(AssertUtils.java:426)atorg.springside.modules.utils.spring.SpringContextHolder.assertContextInjected(SpringContextHol der.java:87)atorg.springside.modules.utils.spring.SpringContextHolder.getBean(SpringContextHolder.java:48) atcom.augurit.ads.fw.listener.AdsFrameworkInitCheckListener.checkSysConfig(AdsFrameworkInitC heckListener.java:35)atcom.augurit.ads.fw.listener.AdsFrameworkInitCheckListener.contextInitialized(AdsFrameworkIni tCheckListener.java:27)Truncated. see log file for complete stacktrace>1.1.3解决办法:这个问题是因为加载不了applicaitonContext.xml文件:检查web.xml文件,网上资料说部署在weblogic的项目不支持通配符的写法的,引入多少个配置文件就要写多少个。
weblogic部署出现包冲突的解决办法博客分类:应用部署WeblogicWeblog4jServletXML由于有些客户在同一个server里部署多个应用,各个应用使用的jar包版本有所不同或者公共weblogic包里有不同版本的jar或其他原因,造成在部署我们的应用时,包冲突,导致部署失败;为了避免包冲突,可以通过配置,使得web应用启动时类装载采用从web-inf开始装载,具体方法是:通过对weblogic.xml添加如下参数实现,同时需要增加相应的必需包,例如xalan.jar 和xerces-2.6.2.jar(除非应用本身的lib里已包含),以保证系统能成功部署:<container-descriptor><servlet-reload-check-secs>-1</servlet-reload-check -secs><prefer-web-inf-classes>true</prefer-web-inf-classe s></container-descriptor>如果使用了log4j,则日志的使用配置应在web.xml里进行配置,否则可能应用无法正常启动,配置内容如下:<context-param><param-name>log4jConfigLocation</param-name><param-value>/WEB-INF/classes/log4j.properties</param-value></context-param>及如下listener:<listener><listener-class>org.springframework.web.util.Log4jConfigListener< /listener-class></listener>。
weblogic部署常见问题weblogic.xml是可以选的,可以不要,除非你需要先加载web-inf/lib文件。
weblogic.xml主要配置web容器的一些属性,比较JSP编译时间间隔、编译路径等web.xml是配置整个应用工程的属性,如servlet 等JSP乱码:在你工程目录下面的/WEB-INF里面有一个weblogic.xml这个文件里有字符集设置(这个weblogic.xml文件是你在使用weblogic对自己的这个WEB工程进行发布时,通过向导一步一步进行参数设置之后,自动生成的)。
weblogic.xml里的字符集设置为:/*UTF-8就我个人成功部署的经历说说我的部署心得。
/doc/9018782586.html,/s/blog_4745d 1c1010171av.html1.部署出错。
部署出错常见问题就是,web.xml不规范。
web.xml不规范将直接导致部署不成功!weblogic对web.xml检查非常严格,大部分能在tomcat下调试成功的,在weblogic下不一定会成功。
原因是,tomcat不能算是一个服务器所以检查相对不够严格。
注意这里说的tomcat指的是5.5及以下。
tomcat6在整个结构上有了一定的改变,部分tomcat5.5能通过的,在tomcat6下并不一定成功!所以出错后,应当根据提示检查下web.xml书写是否规范。
部署不成功的另一种问题,JRE版本不对应。
换句话说就是服务器上的JDK低于你开发环境中的JDK,导致的版本出错。
这个是比较郁闷的,通常情况下有两种建议:其一,最好的办法是将服务器上的JDK升级至官方最高版本。
这样做的好处是,不用担心版本问题,另外新版本通常支持新的特性,对开发也有很大的帮助。
其二,将本地的JDK和服务器上的JDK控制在同一个版本。
这样就不用担心版本不对应。
下面说下问题出现以后的解决方法,通过MyEclipse的项目属性->JRE设置->添加新的JRE->让项目的使用新添加的JRE。
spring+hibernate出错小结:(1)ng.NoClassDefFoundError: org/hibernate/context/CurrentSessionContext原因:出现这错误时,请更改hibernate的包,更新至最新或3.1以上(2)ng.NoClassDefFoundError: javax/transaction/TransactionManager原因:缺少jta.jar 或者是找不到hbm.xml文件导致sessionfactory出错,检查hbm文件路径是否正确,文件是否存在(3) 错误:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update或者org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not insert: [com.yourcompany.model.Login]; bad SQL grammar [insert into mysql__login (name,password) values (?,?)]; nested exception is java.sql.SQLException: Table'mysql.mysql__login' doesn't exist java.sql.SQLException: Table 'mysql.mysql__login' doesn't exist原因与解决:因为Hibernate Tools(或者Eclipse本身的Database Explorer)生成*.hbn.xml 工具中包含有catalog="***"(*表示数据库名称)这样的属性,将该属性删除就可以了(4)org.springframework.orm.hibernate3.HibernateQueryException: undefined alias原因:在spring配置文件中,可能你设置了<prop key="hibernate.query.factory_class"> org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>,指定了HQL的解释器,请删除或更改另一个解释器org.hibernate.hql.ast.ASTQueryTranslatorFactory,如果没有设置,请确认是否有写错了HQL语句,是否与POJO里的属性一样。
1Weblogic9.2 在linux下启动很慢打开setDomainEnv.sh 增加-Djava.security.egd=file:/dev/zero修改参数为JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"2Windows x64 jrockit 启动3000M 报OutOfMemoryng.OutOfMemoryError: class allocation, 153359080 loaded, 154140672 footprint JVM@check_alloc(src/jvm/model/classload/classalloc.c:118). 19416 bytes通过修改启动内存,设置4G以上3后台日志出现以下报错User <anonymous> does not have permission on weblogic.management.home to perform lookupoperation1、网上找到的解决方案是:打开weblogic控制台,点击你部署工程的那个domain,在右边主页的下面有一个“View Domain-wide Security Settings”连接,点开它,看看复选框“Anonymous Admin Lookup Enabled”前面是没选的,把它勾上。
2、使用了1中的解决方案还是报这个错误,经过高手提醒后发现原因:如果一个weblogic.xml中包含以下的内容:<container-descriptor><prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor>这个配置的意思是使weblogic优先加载应用WEB-INF/lib下面的jar包。
WebLogic应用部署及常见问题一、应用部署1.1登录(默认域账号密码:weblogic/weblogic)1)服务器启动后,打开Web控制台首页,点击右上方“Start theAdministration Console”,进入控制台登录页面,如下图所示2)输入用户名口令,默认为weblogic/weblogic1.2建立数据源1)进入控制台首页后,选择服务 / JDBC / 数据源,如下图所示2)在“更改中心”面板中,点击“锁定并编辑”按钮,这时右边窗口中的“新建”按钮被激活,如图所示3)点击“新建”按钮,进入“新建JDBC数据源”4)根据下表以及下图所示填写和选择相关项:5)点击下一步,进入“事务选择”,保持默认即可项:7)点击下一步,进入“测试数据库连接”,如图所示:8)点击下一步,进入“选择目标”,保持默认即可:9)点击“完成”,进入如下所示界面,此时新建的数据源“SGCCData Source”已经列在右边表格当中,等待激活更改10)点击“更改中心”面板中的“激活更改”按钮,使之生效,至此数据源建立完毕。
1.3发布应用1)进入控制台首页后,选择部署,如下图所示2)在“更改中心”面板中,点击“锁定并编辑”按钮,这时右边窗口中的“安装”按钮被激活,如图所示3)点击“安装”按钮,进入“安装应用程序助手”4)在位置列表中提供的驱动器列表中,选择具体的应用程序所在路径,进入如下界面,选择一个应用进行部署,下面以“cell”为例,依次图示部署应用的各个步骤5)在接下来的界面中,选择“将此部署安装为应用程序”6)点击下一步,进入到“可选设置”,保持默认不用更改7)点击下一步,检查选项并单击“完成”8)单击完成后,进入如下界面,等待激活9)点击“激活更改”后,显示如下界面10)再次选择“部署”,在部署列表中,选中刚才发布的cell应用,在“启动”下拉菜单中单击“为所有请求提供服务”11)接下来系统显示确认界面,点击“是”12)请求发送后,进入如下提示界面,可以看到在部署应用列表中,刚才发布的应用cell状态一栏,已经显示为“活动”13)点击名称“cell”,在“cell的设置”中,单击tab页“测试”,在这里提供了测试cell应用程序的测试点cell部署成功(注意先要成功部署dbnetgrid)应用二、常见问题:2.1‘600’second问题1)后台报错如下图:类似报错“which is more than theconfigured time <StruckThreadMaxTime> of “600”seconds”2)登录http://ip:3000/console3)点击“环境”—“服务器”后:4)点击“AdminServer(管理)”:5)点击“超载”:6)选择“锁定并编辑”,修改“最长线程阻塞时间”,如果报错中为“600”,则修改为>600即可。
SSH项目部署在window和linux下的Weblogic上出现ClassNotFound异常解决办法问题:一个J2ee项目,部署在tomcat下可以,weblogic下就出现了各种蛋疼的问题。
前面第几篇博客来着,也提到了一个其它的异常,现在这次出现了ClassNotFound异常。
网上搜了很多资料,都没有解决。
以前的一个老同事给了一份weblogic部署的资料,那份资料文档是在window下的,说的是hibernate里面的antlr.jar与weblogic里面自带的jar包有冲突,修改域里面setDomainEnv.cmd 文件或者startWebLogic.cmd。
文档主要内容如下1.1 注意事项由于Weblogic和hibernate框架使用的包(antlr-2.7.6rc1.jar)有冲突,所以安装完毕之后,需要做些配置,解决冲突(此例的antlr包版本是2.7.6rc1):A) 将工程jar包中的antlr-2.7.6.jar复制到Weblogic的安装目录里,具体路径为D:\bea\wlserver_10.3\common\lib,然后重启服务即可B) 如果按照A步骤执行后,还不能解决冲突,则要到工程所在的域文件夹里,setDomainEnv.cmd的文件中修改服务的环境变量,把A步骤中的路径加上:右键-> 编辑,打开文件,在set CLASSPATH之前加上:set PRE_CLASSPATH=D:\bea\wlserver_10.3\common\lib\antlr-2.7.6.jar在set CLASSPATH之后加上:set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%然后重启服务即可window下,我尝试过,老同事的资料完全正确,项目可以正常跑起来。
但是在linux下的setDomainEnv.sh不一样,改配置都不知道如何该。
于是在网上找各种资料,修改setDomainEnv.sh 尝试过,修改startWeblogic.sh尝试过,都不行,后来找到资料,在项目的WEB-INF中新增一个weblogic.xml的配置文件,终于搞定了,内容如下,希望能帮到遇到该问题的朋友。
SSH框架在weblogic部署经常会出现类似的情况
一些方法错误
在项目运行过程中也经常会出现类似的情况
出现问题的原因如下:
Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。
(1)选择Hibernate3.0的查询翻译器:
hibernate.query.factory_class =
org.hibernate.hql.ast.ASTQueryTranslatorFactory
(2)选择Hibernate2.1的查询翻译器
hibernate.query.factory_class=
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
为了使用3.0的批量更新和删除功能,只能选择(1)否则不能解释批量更新的语句,当使用的时候出现了不支持条件输入中文的情况。
选择(2)可以支持输入中文,但没法解释批量更新语句了
在hibernate3中需要用到antlr,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无法找到在war或者ear中的hibernate3.jar。
出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。
解决方案:
1.是在hibernate.properties文件中增加属性:hibernate.query.factory_class,属性的值是org.hibernate.hql.classic.ClassicQueryTranslatorFactory,这样就可以解决问题了。
但是部分功能会有问题,譬如
但本系在批量删除和更新会有问题,本系统不采用
此处可不修改
2.将antlr-2.7.6.jar拷贝到bea\wlserver_10.3\server\lib目录下且放置在weblogic.jar 的前面,然后修改
盘符:\bea\wlserver_10.3\server\bin目录下的startNodeManager.cmd、
把蓝色部分改成
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.7.jar
set
CLASSPATH=.;%PRE_CLASSPATH%;%WEBLOGIC_CLASSPATH%;%CLASSPATH%
在user_projects\domains\base_domain\bin目录下的startWebLogic.cmd 在set CLASSPATH之前加上下面一句:
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.6.jar;
在set CLASSPATH之后加上下面一句:
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH% 问题随即解决。
如果在开发时候使用myeclipse启动weblogic时出现此问题
请按照下面地址添加。