j2ee常见错误(放到这里备查)--节选自j2ee tutorial

80酷酷网    80kuku.com

  j2ee|错误
常见问题及其解决办法

不能启动J2EE服务器

命名目录服务端口冲突 症状:当你使用-verbose选择启动J2EE服务器时,显示以下信息: J2EE server listen port: 1050 RuntimeException: Could not initialize server. . . 解决办法:其它程序使用了1050端口。如果J2EE服务已经运行了,你可以通过输入 j2ee -stop停止这个服务。如果其它程序使用了这个端口,你可以通过修改你的J2EE SDK安装的config/orb.properties文件以改变默认端口(1050)。 有关默认端口号的更多信息,请参看下载J2EE SDK时同时提供的配置向导。

Web服务端口冲突 症状:当你使用-verbose选项启动J2EE服务时,显示以下信息: LifecycleException: HttpConnector[8000].open: java.net.BindException: Address in use. . . 解决办法:其它程序使用了端口8000。你可以通过修改你的J2EE SDK安装的config/orb.properties文件以改变默认端口(8000)。

错误的XML解析 症状:当你使用-verbose选项启动J2EE服务时,显示以下信息: Exception in thread "main" javax.xml.parsers.FactoryConfigurationError: org.apache.xerces.jaxp.SAXParserFactoryImpl at . . . 解决办法:从你的J2SE安装目录中删除jre/lib/jaxp.properties文件。

编译错误

ant不能找到构造文件 症状:当你输入ant converter后,显示以下信息: Buildfile: build.xml does not exist! Build failed. 解决办法:在运行ant前,先转到j2eetutorial/examples/src目录。如果你想要在当前目录中运行ant,你必须在命令行指定构造文件。例如,在窗口中你需要在同一行中输入以下命令: ant -buildfile C:j2eetutorialexamplessrcuild.xml converter

编译器不能解析符号 症状:当你输入ant converter后,编译器报告很多错误,其中包括: cannot resolve symbol . . . BUILD FAILED . . . Compile failed, messages should have been provided 解决办法:确保你是否已经正确配置了J2EE_HOME环境变量。详细信息请参阅检查环境变量。

在你运行客户端后ant 1.4不能编译示例 症状:ant 1.4显示以下错误: The filename, directory name, or volume label syntax is incorrect. 解决办法:使用ant的1.3版本。对于1.4版本,ant.bat脚本和J2EE SDK的脚本都使用了JAVACMD环境变量。而SDK的runclient.bat脚本可能对JAVACMD进行了设置,这就造成了ant.bat的问题。

部署错误

在你的类路径中错误的XML解析 症状:显示以下错误: . . . []java.rmi.RemoteException:Error saving/opening

Deployment Error:Bad mapping of key{0} class{1}, not found: com.sum.enterprise.deployment.xml.ApplicationNode 解决办法:从你的J2SE安装目录的jre/lib/ext子目录下删除jaxp.jar文件。这个JAR文件包含了和J2EE服务器不兼容的XML解析程序。如果你没有一个jaxp.jar文件,你的类路径可能会引用一个Tomcat安装的XML程序。在这种情况下,你需要从你的类路径中删除这个环境。

远程Home接口被指定为一个本地Home接口 症状:显示以下错误: LocalHomeImpl must be declared abstract. It does not define javax.ejb.HomeHandle getHomeHandle() from interface javax.ejb.EJBHome. 解决办法:从EAR文件中删除这个enterprise bean(EditDelete)并使用New Enterprise Bean向导建立一个新的bean。在向导的综合对话框中,选择Remote Home Interface和Remote Interface组合框。

J2EE应用程序客户端运行错误

客户端抛出一个NoClassDefFoundError 症状:客户端报告以下例外: java.lang.NoClassDefFoundError:converter.ConverterHome 解决办法:造成这个错误的原因是客户端不能找到ConverterAppClient.jar文件中的类。请认真检查你是否正确地按照运行J2EE应用程序客户端中的部署执行了。

客户端不能找到ConverterApp.ear 症状:客户端报告以下例外: IOException: ConverterApp.ear does not exist 解决办法:认真检查ConverterApp.ear文件是否存在,并且为其指定了-client选项: runclient -client ConverterApp.ear -name ConverterClient 有关创建ConverterApp.ear文件的详细信息请参看创建J2EE应用程序和运行J2EE应用程序客户端。

客户端不能找到ConverterClient组件 症状:客户端显示以下信息: No application client descriptors defined for: . . . 解决办法:检查你是否已经建立了ConverterClient组件以及是否在runclient命令中指定了-name选项。有关建立ConverterClient组件的详细信息请参看将J2EE应用程序客户端打包。

登录失败 症状:在登录后,显示如下信息: Incorrect login and/or password 解决办法:在登录提示符后用户名输入guest,口令输入guest123。

J2EE应用程序未被部署 症状:客户端报告以下例外: NameNotFoundException. Root exception is org.omg.CosNaming. . . 解决办法:部署应用程序,详细介绍请参看部署J2EE应用程序。

JNDI命名错误 症状:客户端报告以下例外: NameNotFoundException. Root exception is org.omg.CosNaming. . . 解决办法:在标志为ConverterApp的JNDI命名面板中,检查ConverterBean的JNDI命名是否与ejb/SimpleConverter匹配。重新指定正确的JNDI命名并重新部署应用程序。

Web客户端运行错误

Web的URL环境不正确 症状:浏览器报告页面未找到(HTTP 404)。 解决办法:检查Web的URL环境(converter)是否与你在Component General Properties对话框中指定的匹配(参见将Web客户端打包)。在特别注意大小写的问题。

J2EE应用程序未被部署 症状:浏览器报告页面未找到(HTTP 404)。 解决办法:部署应用程序。

JNDI命名错误 症状:当你点击Web页面上的Submit按钮后,浏览器报告 A Servlet Exception Has Occurred。 解决办法:在标志为ConverterApp的JNDI命名面板中,检查ConverterBean的JNDI命名和ConverterWAR的JNDI命名是否匹配。重新指定正确的JNDI命名并重新部署应用程序。

校验工具发现的错误 校验工具(verifier)可以发现部署描述和方法特征之间的矛盾。这些矛盾常常会导致部署和运行时的错误。在deploytool中,你可以通过选择ToolsVerifier运行verifier的GUI版本。你也可以单独运行verifier的GUI版本或命令行版。更多的信息请参看附录B.

将你的EAR文件与我们的比较 对于这个例子的绝大部分,在下载的文件中包含了J2EE应用程序的EAR文件,它们位于j2eetutorial/examples/ears目录下。

其它错误 如果上面的这些建议都不能解决问题,你可能需要重新安装应用程序并通过运行cleanup脚本清除服务器中的存储内容。你当然还需要关闭并重新启动服务器: j2ee -stop cleanup j2ee -verbose



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: