invalid type code: 31和java虚拟机参数sun.lang.ClassLoader.allowArraySyntax

在使用Weblogic部署EJB时遇到'invalid type code: 31'错误,原因是JDK版本不兼容。解决办法是在使用JDK1.6时添加-Dsun.lang.ClassLoader.allowArraySyntax=true参数。该参数在JDK1.5中默认为true,但在JDK1.6中默认为false。调整虚拟机参数后,部署操作可成功执行。
摘要由CSDN通过智能技术生成

Unable to connect to 't3://localhost:7001': invalid type code: 31.

今天在使用weblogic 命令行工具部署EJB的时候,出现如下的问题:
C:/Documents and Settings/hg06574>java -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)

C:/Documents and Settings/hg06574>
C:/Documents and Settings/hg06574>java -classpath C:/wls/weblogic.jar weblogic.Deployer -adminurl t3://localhost:7001 -user weblogic -password weblogic -targets AdminServer -deploy C:/011_temp/ejbStudy.jar
weblogic.Deployer invoked with options:  -adminurl t3://localhost:7001 -user weblogic -targets AdminServer -deploy C:/011_temp/ejbStudy.jar
Unable to connect to 't3://localhost:7001': invalid type code: 31. Ensure the url represents a running admin server and that the credentials are correct. If using http protocol, tunneling must be enabled on the admin server.

其中:
weblogic9.2 使用jdk1.5.0_10
ejbStudy.jar使用jdk1.5.0_10编译,
上面命令行使用的是jdk1.6.0_05,出现上面的错误是因为虚拟机参数sun.lang.ClassLoader.allowArraySyntax造成的。
在jdk1.5中,这个参数默认值是true,而在jdk1.6中这个参数的默认值是false。如果要使用jdk1.6去执行上面的部署命令,需要修改虚拟机这个参数的值为true,如下:
C:/Documents and Settings/hg06574>java -Dsun.lang.ClassLoader.allowArraySyntax=true -classpath C:/wls/weblogic.jar weblogic.Deployer -adminurl t3://localhost:7001 -user weblogic -password weblogic -targets AdminServer -deploy C:/011_temp/ejbStudy.jar
weblogic.Deployer invoked with options:  -adminurl t3://localhost:7001 -user weblogic -targets AdminServer -deploy C:/011_temp/ejbStudy.jar
<Jan 5, 2011 5:02:14 PM CST> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, ejbStudy.jar [archive: C:/011_temp/ejbStudy.jar], to AdminServer .>
Task 5 initiated: [Deployer:149026]deploy application ejbStudy.jar on AdminServer.
Task 5 completed: [Deployer:149026]deploy application ejbStudy.jar on AdminServer.
Target state: deploy completed on Server AdminServer

这样就没有问题了。
如果使用jdk1.5去执行上面的部署命令,就不用修改这个参数了,因为默认值就是true。

C:/DialogDesigner>set JAVA_HOME=C:/java/jdk150_10
C:/DialogDesigner>set classpath=.;C:/java/jdk150_10/lib/tools.jar;C:/java/jdk150_10/lib/dt.jar;C:/wls/api.jar;C:/wls/wls-api.jar
C:/DialogDesigner>set path=C:/java/jdk150_10/bin;
C:/IVR_CCJ/ejbStudy/build>java -classpath C:/wls/weblogic.jar weblogic.Deployer -adminurl t3://localhost:7001 -user weblogic -password weblogic -targets AdminServer -deploy C:/011_temp/ejbStudy.jar
weblogic.Deployer invoked with options:  -adminurl t3://localhost:7001 -user weblogic -targets AdminServer -deploy C:/IVR_CCJ/ejbStud

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值