常见问题及解决方案.doc
《常见问题及解决方案.doc》由会员分享,可在线阅读,更多相关《常见问题及解决方案.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流常见问题及解决方案.精品文档.一、Eclipse控制台乱码:1二、Eclipse启动Tomcat报错: Bad version number in .class file2JDK5和JDK6对JMX的ObjectName模式支持的不同(监控应用服务器系列文章)9监控WebLogic9/10的项目部署到Tomcat报Unsupported protocol: t3异常的解决办法11项目部署到Tomat报异常:jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending .13异常:
2、java.lang.OutOfMemoryError: PermGen space13MySQL错误:The user specified as a definer (XXXXXX) does not exist14修改JAVA_HOME无效,java版本保持不变的问题解决15总结 20 个开发细节15跳出多层循环16离职 需要注意三个问题17面试 需要注意三种公司19一、Eclipse控制台乱码:a) 在项目上点击properties-Run/Debug settings-new java application-Common 勾选Run/Debug 并选择Console Encoding
3、设置为GBK. 二、Eclipse启动Tomcat报错: Bad version number in .class file问题现象 在Eclipse中启动Tomcat 6运行一个JavaWeb应用,但是Tomcat启动中报异常并且启动中止,异常信息如下:Java代码 1 致命的: Null component Catalina:type=JspMonitor,name=jsp,WebModule=/localhost/cfJavaEEPlay,J2EEApplication=none,J2EEServer=none 2 java.lang.reflect.InvocationTargetEx
4、ception 3 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 4 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 5 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 6 at java.lang.reflect.Method.invoke(Method.java:585)
5、 7 at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 8 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 9 Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class cn.chenfeng.Listener.MySessionListener) 10 at org.apa
6、che.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2737) 11 at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1124) 12 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612) 13 at org.apache.catalina.loader.We
7、bappClassLoader.loadClass(WebappClassLoader.java:1491) 14 at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:145) 15 at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:73) 16 at org.apache.catalina.startup.W
8、ebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:56) 17 at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297) 18 at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1078) 19 at org.apache.catalina.startup.ContextConfig.lif
9、ecycleEvent(ContextConfig.java:261) 20 at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) 21 at org.apache.catalina.core.StandardContext.start(StandardContext.java:4540) 22 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 23 at org.apac
10、he.catalina.core.StandardHost.start(StandardHost.java:785) 24 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) 25 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) 26 at org.apache.catalina.core.StandardService.start(StandardService.java:519) 27 at org
11、.apache.catalina.core.StandardServer.start(StandardServer.java:710) 28 at org.apache.catalina.startup.Catalina.start(Catalina.java:581) 29 . 6 more 主要是这么一句:Caused by: java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class cn.chenfeng.Listener.MySessionListene
12、r)问题分析 网上搜了下,也有人遇到过类似问题,说是JDK版本不对,但是没有具体说怎么解决。然后自己再研究了一下,发现确实是Tomcat使用的JDK版本不对,我的JavaWeb应用是基于JavaEE 6的,但是Tomcat使用的却是JDK 5,所以才会产生这样的异常。问题解决 如果是通过在工程上右击-“Run As”-“Run on Server” 启动Tomcat 如果是第一次跑,以前没有配置过Tomat,那么选择“Tomcat v6.0 Server”,点击“Next”,在下个画面的“JRE”选项中要选择JDK 6,当然如果你的Eclipse默认的JRE就是JDK 6那就没问题了。 如果已
13、经配置过Tomcat,并且出现上述异常,那么打开Eclipse的“Window”菜单下的“Preferences”,在弹出的画面中选择 “Server”-“Runtime Environments”,在右边选择你要配置的Server,点击“Edit”按钮,在弹出的画面中将JRE选择为JDK6,然后确定即可。 如果是通过Eclipse中的Tomcat插件启动Tomcat那么打开Eclipse的“Window”菜单下的“Preferences”,在弹出的画面中选择“Tomat”-“JVM设定”,将JRE选择为JDK6,然后确定即可。 以上。JDK5和JDK6对JMX的ObjectName模式支持的
14、不同(监控应用服务器系列文章)前言:做了一个监控应用服务器的项目(支持Tocmat、WebSphere、WebLogic各版本), 过程也算是磕磕绊绊,由于网上缺少相关资料,或者深陷于知识的海洋难以寻觅到有效的资料,因而走过不少弯路,遇过不少困难。为了留下点印记,给后来人留下 点经验之谈,助之少走弯路,故将这些经验整理出来,与大家分享。水平有限,难免疏漏,还望指正。如有疑问,欢迎留言,或者加入Q群参与讨 论:35526521。前提需要监控多个Tomcat,而其中有些Tomcat使用JDK5,有些Tomcat使用JDK6,这时可能会遇到的一个问题,请看下文。现象采集某个Web应用的所有的Serv
15、let监控信息,使用如下的 URL :-http:/localhost:58080/manager/jmxproxy?qry=*:j2eeType=Servlet,WebModule=/manager,*-从上面的URL可以看到,查询字符串为 *:j2eeType=Servlet,WebModule=* / manager,* 但是这样的查询字符串只对使用JDK6环境的Tomcat有效,如果您监控的Tomcat使用JDK5的环境,那么这个查询字符串会被认为是错误的,从而返回异常信息:-Error - javax.management.MalformedObjectNameException:
16、Invalid character * in value part of property- 原因分析经验证,这是由于不同版本的JDK 对 ObjectName 的支持不同,验证代码如下:-Java代码 1 ObjectName objName = new ObjectName(*:j2eeType=Servlet,WebModule=*/manager,*); 2 System.out.println(objName); -在JDK6 环境下运行这段代码没有问题,但是在 JDK5 环境下运行这段代码就会报异常:-Java代码 3 Exception in thread main javax.
17、management.MalformedObjectNameException: Invalid character * in value part of property 4 at javax.management.ObjectName.construct(ObjectName.java:529) 5 at javax.management.ObjectName.(ObjectName.java:1304) 6 at cn.chenfeng.Test.main(Test.java:10) -得出结论在JDK6 的帮助文档中有这样一段:-ObjectName模式的示例有: *:type=Foo
18、,name=Bar匹配键的具体设置为 type=Foo,name=Bar 的任何域中的名称。 d:type=Foo,name=Bar,*匹配具有键 type=Foo,name=Bar 以及 0 或其他键的域 d 中的名称。 *:type=Foo,name=Bar,*匹配具有键 type=Foo,name=Bar 以及 0 或其他键的域中的名称。 d:type=F?o,name=Bar将与诸如 d:type=Foo,name=Bar 和 d:type=Fro,name=Bar 之类的键和名称匹配。 d:type=F*o,name=Bar将与诸如 d:type=Fo,name=Bar 和 d:ty
19、pe=Frodo,name=Bar 之类的键和名称匹配。 d:type=Foo,name=B*将与诸如 d:type=Foo,name=Bling 之类的键和名称匹配。通配符在引号中也能被识别,并且像其他特殊字符一样可以使用 转义。-可见JDK6 是支持字符串中有 ? 和 * 的匹配模式的,但是JDK5 却不支持,这点一定要注意!如果遇到这种错误,就得针对两种情况使用不同的应对措施了。监控WebLogic9/10的项目部署到Tomcat报Unsupported protocol: t3异常的解决办法前言:做了一个监控应用服务器的项目(支持Tocmat、WebSphere、WebLogic各版本
20、), 过程也算是磕磕绊绊,由于网上缺少相关资料,或者深陷于知识的海洋难以寻觅到有效的资料,因而走过不少弯路,遇过不少困难。为了留下点印记,给后来人留下 点经验之谈,助之少走弯路,故将这些经验整理出来,与大家分享。水平有限,难免疏漏,还望指正。如有疑问,欢迎留言,或者加入Q群参与讨 论:35526521。使用JMX监控WebLogic 9.x、10.x时要用到WebLogic提供的JAR包: 9.x用到wlclient.jar和wljmxclient.jar 10.x在JDK6下用到wlfullclient.jar、JDK5下用到wlfullclient5.jar(用 WebLogic JarB
21、uilder Tool生成)以下只针对wlfullclient.jar,也就是JDK6下的WebLogic 10.x。错误现象我们会通过这种方式获取和MBean Server的连接:-JMXConnector connector = JMXConnectorFactory.connect(serviceURL, h);-但是项目在Eclipse下通过Java程序调用没有任何问题,但作为Web应用部署到Tocmat就出问题了,会报这样的异常:-Unsupported protocol: t3-你是不是也发现了这个问题?原因分析刚发现这个问题是很是诧异,想不通,后来在老外的一个论坛上找到类似问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常见问题 解决方案
限制150内