Weblogic发布EJB程序出错(Compiler failed executable.exec)的解决方法

 
   今天项目组一同事机器重装了WindowsXP,再安装了Weblogic8.1.5,然后把我们的应用程序(带EJB)部署一下,结果部署不上去,找了好半天都没找到问题。出错的现象如下:
 
####<2008-7-22 下午01时18分21秒 CST> <Error> <Deployer> <soyen-bf7e4d7e2> <myserver> <main> <<WLS Kernel>> <> <BEA-149205> <Failed to initialize the application vsms due to error weblogic.management.ApplicationException: prepare failed for wfeserver-ejb.jar
{
Module Name: wfeserver-ejb.jar, Error: Exception preparing module: EJBModule(wfeserver-ejb.jar,status=NEW)
 

Unable to deploy EJB: wfeserver-ejb.jar from wfeserver-ejb.jar:
 

Compiler failed executable.exec
 
 at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:274)
 at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
 at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
 at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
 at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:784)
 at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:700)
 at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1339)
 at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498)
 at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3142)
 at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1583)
 at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227)
 at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070)
 at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:823)
 at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(SlaveDeployer.java:3029)
 at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications(SlaveDeployer.java:967)
 at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:349)
 at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
 at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
 at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
 at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
 at weblogic.Server.main(Server.java:32)
 
java.io.IOException: Compiler failed executable.exec
 at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:469)
 at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:328)
 at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:336)
 at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:270)
 at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
 at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
 at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
 at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:784)
 at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:700)
 at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1339)
 at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:498)
 at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:3142)
 at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1583)
 at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1227)
 at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1070)
 at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:823)
 at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(SlaveDeployer.java:3029)
 at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications(SlaveDeployer.java:967)
 at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.java:349)
 at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resume(DeploymentManagerServerLifeCycleImpl.java:229)
 at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
 at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
 at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
 at weblogic.Server.main(Server.java:32)
 
}.
 
      开始以为是Weblogic8.1.5版本问题,因为我的机器是Weblogic8.1.4可以正常运行,卸除Weblogic8.1.5,重装Weblogic8.1.4后,问题依旧,真晕。从来没发生过这样的情况,因为我们项目组都是部署这个程序,没有发生过这样的现象题。
      后来查看了环境变量,JDK版本等等,一切正常,还试了网上的一个办法
参考 http://forums.sun.com/thread.jspa?threadID=492907&messageID=2319367&forumID=13
修改Weblogic服务器的JAVA编译器选择,还是不行。
 
     下班后又在网上google了一下,终于解决了,在是BEA的论坛上找到的,
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=103&threadID=20753&start=0&tstart=30
 
      进入Windows XP的控制面板,进入区域和语言选项,点高级。去掉 54936 (gb18030 简体中文)前面的对号,如下图所示。再重新启动一下Weblogic后部署一下就OK了。
 
 
      JAVA总是这样,让人不爽,如果现在没有搜索引擎,不知道这个问题该如何才能解决。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值