MyEclipse、WebLogic开发EJB-SessionBean学习

最近在学习EJB,开始做一个最简单的学习例子,就在网上找到了http://blog.csdn.net/phoebus2006/article/details/630604这篇文章,然后开始照着做。

到原文中开始Xdoclet配置的时候,因为我的Myeclipse配置的是Weblogic 10.3.6,所以在添加weblogic部署描述选项时,配置Version的时候,


我填的是10.3,结果在保存部署之后,启动weblogic报错,之后又改成8.1就OK了,不解是何故。余下的就是照着文章上的步骤继续做。在测试的时候我新建了个TestSayHello项目,写了个jsp页面来测试,在引入weblogic.jar,发布到tomcat6下,启动tomcat时报错,错误信息如下:

信息: Deploying web application directory TestSayHello
2012-8-9 11:16:25 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.NoClassDefFoundError: weblogic/utils/NestedException
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
	at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	at java.lang.Class.getConstructor0(Class.java:2699)
	at java.lang.Class.newInstance0(Class.java:326)
	at java.lang.Class.newInstance(Class.java:308)
	at javax.xml.parsers.FactoryFinder.newInstance(FactoryFinder.java:147)
	at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:298)
	at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:223)
	at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:128)
	at com.sun.faces.config.ConfigureListener$WebXmlProcessor.getConfiguredFactory(ConfigureListener.java:1996)
	at com.sun.faces.config.ConfigureListener$WebXmlProcessor.scanForFacesServlet(ConfigureListener.java:1970)
	at com.sun.faces.config.ConfigureListener$WebXmlProcessor.<init>(ConfigureListener.java:1944)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:295)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
	at org.apache.catalina.core.StandardService.start(StandardService.java:525)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: weblogic.utils.NestedException
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	... 45 more
很是纳闷,因为weblogic.jar里面有weblogic.utils.NestException这个.class文件啊,在网上搜索了好多,说是缺少什么client的jar包,最后找到 http://osify.com/2011/01/weblogic-10-3-create-client-jar/#.UCMNTT1-GW4这篇文章,按照上面说的打了个wlfullclient.jar然后引入项目中(ps:记得先看看你安装的weblogic里的这个 com.bea.core.jarbuilder版本号,别在命令行里写错了),然后tomcat启动无误了,可是浏览器访问的时候,又报错,错误信息如下:

信息: Deploying web application directory TestSayHello
2012-8-9 12:47:48 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(D:\apache-tomcat-6.0.35\webapps\TestSayHello\WEB-INF\lib\wlfullclient.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2012-8-9 12:47:48 org.apache.coyote.http11.Http11AprProtocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-8-9 12:47:48 org.apache.coyote.ajp.AjpAprProtocol start
信息: Starting Coyote AJP/1.3 on ajp-8009
2012-8-9 12:47:48 org.apache.catalina.startup.Catalina start
信息: Server startup in 20700 ms
2012-8-9 12:48:16 org.apache.catalina.core.ApplicationContext log
信息: Marking servlet LoginServlet as unavailable
2012-8-9 12:48:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Allocate exception for servlet LoginServlet
java.lang.ClassNotFoundException: javax.ejb.CreateException
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
	at java.lang.Class.getConstructor0(Class.java:2699)
	at java.lang.Class.newInstance0(Class.java:326)
	at java.lang.Class.newInstance(Class.java:308)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1149)
	at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:877)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:594)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1675)
	at java.lang.Thread.run(Thread.java:619)

其中这段:

 validateJarFile(D:\apache-tomcat-6.0.35\webapps\TestSayHello\WEB-INF\lib\wlfullclient.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

出现这种情况的可能原因就是项目中的jar包里内容与tomcat目录下的servlet-api.jar冲突,打开wlfullclient.jar,果然javax目录下发现


把servlet和el这俩目录删去,重新部署后,一切OK!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值