谢谢楼上的各位大哥。 我是按照<j2ee应用与bea weblogic》书上的例题做的一个小实验而已。 1。我的windows2000系统与java有关的classpath就是这个。。 .;d:\ejbexamples;d:\bea\weblogic81b\server\lib\weblogic.jar;d:\j2sdk\bin;d:\corejava;d:\j2sdk\lib\dt.jar;d:\j2sdk\lib\tools.jar;的classpath就是这样的。 2。我重新启动weblogic后,报告给我的错误警告给我主贴的错误是一样的。 其他的我也没做什么修改,我是用的jdk141 beta 编译所有的.java文件的(先安装j2sdk,后安装weblogic的) 3。并且我的测试的client类的目录下包括所有的remote home ejb代码类。 我也已经给weblogic.jar加到了我的测试client的classpath里面, 我试过,如果没有加上weblogic.jar到classpath里面是报告给我的另一个错误。。 4。而我现在用client所得到的错误就是这个 D:\ejbexamples>java com.learnweblogic.examples.ch8.cars.AutoBuyerClient t3://127 .0.0.1:7001 Exception in thread "main" java.lang.NoClassDefFoundError: javax/security/auth/c allback/CallbackHandler at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:120) at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialCont extFactory.java:131) at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6 65) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246 ) at javax.naming.InitialContext.init(InitialContext.java:222) at javax.naming.InitialContext.<init>(InitialContext.java:198) at com.learnweblogic.examples.BaseClient.getInitialContext(BaseClient.ja va:31) at com.learnweblogic.examples.ch8.cars.AutoBuyerClient.<init>(AutoBuyerC lient.java:25) at com.learnweblogic.examples.ch8.cars.AutoBuyerClient.main(AutoBuyerCli ent.java:98) 这个问题困饶了我很长时间了,我一直没办法解决。 请各位大哥帮忙了。小弟先谢过了。
你先不要着急,从出错信息上看,还是classpath的问题, 1你的ejb.jar是不是没有部署到你的配置的Domain的application下,如果没有的话,最好部署到Domain下。 2其次weblogic.jar是不需要加到系统classpath下的,如果不加出错的话,肯定是有问题。 3设断点判断jndi是否lookup到ejb,还是在 ExampleHome home = (ExampleHome)PortableRemoteObject.narro(obj,ExampleHome.class); 这一步时出错。
还有部署后,调用client出现这样的错误该如何做呢?/
D:\ejbexamples>java com.learnweblogic.examples.ch8.cars.AutoBuyerClient t3://127
.0.0.1:7001
Exception in thread "main" java.lang.NoClassDefFoundError: javax/security/auth/c
allback/CallbackHandler
然后就开始部署, 提示我成功。。
后来就在start server窗口看到提示我的错误(见首贴),然后调用client去测试就出现问题
2、你的EJB的远程接口应该是remote
3、要将远程接口和remote接口的类引入到client测试工程中来
4、在测试客户端包中要引入weblogic.jar包(你的问题似乎就是这个原因)祝你好运!
3、要将远程接口和remote接口的类引入到client测试工程中来
->
3、要将远程接口和home接口的类引入到client测试工程中来
我是按照<j2ee应用与bea weblogic》书上的例题做的一个小实验而已。
1。我的windows2000系统与java有关的classpath就是这个。。
.;d:\ejbexamples;d:\bea\weblogic81b\server\lib\weblogic.jar;d:\j2sdk\bin;d:\corejava;d:\j2sdk\lib\dt.jar;d:\j2sdk\lib\tools.jar;的classpath就是这样的。
2。我重新启动weblogic后,报告给我的错误警告给我主贴的错误是一样的。
其他的我也没做什么修改,我是用的jdk141 beta 编译所有的.java文件的(先安装j2sdk,后安装weblogic的)
3。并且我的测试的client类的目录下包括所有的remote home ejb代码类。
我也已经给weblogic.jar加到了我的测试client的classpath里面,
我试过,如果没有加上weblogic.jar到classpath里面是报告给我的另一个错误。。
4。而我现在用client所得到的错误就是这个
D:\ejbexamples>java com.learnweblogic.examples.ch8.cars.AutoBuyerClient t3://127
.0.0.1:7001
Exception in thread "main" java.lang.NoClassDefFoundError: javax/security/auth/c
allback/CallbackHandler
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:120)
at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialCont
extFactory.java:131)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
65)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246
)
at javax.naming.InitialContext.init(InitialContext.java:222)
at javax.naming.InitialContext.<init>(InitialContext.java:198)
at com.learnweblogic.examples.BaseClient.getInitialContext(BaseClient.ja
va:31)
at com.learnweblogic.examples.ch8.cars.AutoBuyerClient.<init>(AutoBuyerC
lient.java:25)
at com.learnweblogic.examples.ch8.cars.AutoBuyerClient.main(AutoBuyerCli
ent.java:98)
这个问题困饶了我很长时间了,我一直没办法解决。
请各位大哥帮忙了。小弟先谢过了。
1你的ejb.jar是不是没有部署到你的配置的Domain的application下,如果没有的话,最好部署到Domain下。
2其次weblogic.jar是不需要加到系统classpath下的,如果不加出错的话,肯定是有问题。
3设断点判断jndi是否lookup到ejb,还是在
ExampleHome home = (ExampleHome)PortableRemoteObject.narro(obj,ExampleHome.class);
这一步时出错。