站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题J2EE入门(11)

J2EE入门(11)

摘要: J2EE入门

一般问题和解决方案

不能启动J2EE Server

命名和目录服务端口冲突

症状:当你用-verbose选项启动J2EE server,它显示这些行:

J2EE server listen port: 1050
RuntimeException: Could not initialize server. . .

解决方案:另外一个进程使用1050端口.如果J2EE server已经运行, 你可以输入键入j2ee -stop停止它.如果其他程序使用这个端口,那么你可以编辑在J2EE SDK安装目录下的config/orb.properties文件去改变缺省的(1050)端口号.

关于缺省端口号的更多信息,查阅J2EE SDK文档下载包中的配置指南.

Web服务端口冲突

症状: 当你用-verbose选项启动J2EE server, 它显示这些行:

LifecycleException: HttpConnector[8000].open:

java.net.BindException: Address in use. . .

解决方案: 另一个进程使用8000端口. 你可以编辑在J2EE SDK安装目录下的config/orb.properties文件去改变缺省的8000端口号.

不正确的XML解释器

症状: 当你用-verbose选项启动J2EE server, 它显示这些行:

Exception in thread "main"

javax.xml.parsers.FactoryConfigurationError:

org.apache.xerces.jaxp.SAXParserFactoryImpl at . . . 

解决方案: 删除J2SE安装目录中的jre/lib/jaxp.properties文件.

编译错误

Ant不能定位Build文件

症状: 当你键入ant converter, 显示这些信息:

Searching for build.xml

Could not locate a build file!

解决方案: 在运行ant之前,先到examples/src目录:

编译器不能解析符号

症状: 当你键入ant converter,编译器报告许多错误,包括这些:

cannot resolve symbol

. . .

BUILD FAILED

. . .

Compile failed, messages should have been provided

解决方案: 确认你已经正确设置J2EE_HOME环境变量.查阅检查环境变量.

部署错误

在你的Classpath中有不正确的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文件包含XML解析程序,它不兼容J2EE server.如果没有jaxp.jar文件,那么可能你的classpath引用到Tomcat安装目录的XML解析程序.在这种情况下,你应当删除你的classpath引用.

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

客户端产生异常

症状: 客户端报告这个异常:

java.lang.NoClassDefFoundError: com/sun/ebank/ejb/exception/CustomerNotFoundException

解决方案: 确认已经设置APPCPATH为客户端的jar路径.

客户端不能找到ConverterApp.ear

症状: 客户端报告这个异常:

IOException: ConverterApp.ear does not exist

解决方案: 确保ConverterApp.ear文件存在和你已经用-client选项指定它:

runclient -client ConverterApp.ear -name ConverterClient

你已在ConverterApp.ear这个章节中创建它, 创建J2EETM应用程序. 也可查阅, 运行J2EETM应用程序客户端.

客户端不能找到ConverterClient组件

症状: 客户端显示这些行:

No application client descriptors defined for: . . .

解决方案: 检验你已经创建ConverterClient组件和你已经指定它为runclient-name选项. 你已在这个章节中创建ConverterClient组件, 打包J2EE应用程序客户端.

登录失败

症状:在你在login对话框中单击 OK 后,客户端汇报这个异常:

FailedLoginException: Password Incorrect

解决方案: 在login对话框,输入guest作为user name和guest123作为password.

J2EE应用程序不能被部署

症状: 客户端报告下列异常:

NameNotFoundException. Root exception is org.omg.CosNaming. . .

解决方案: 部署应用程序.详细说明,查阅部署J2EETM应用程序.

The JNDI Name is Incorrect

症状: 客户端报告下列异常:

NameNotFoundException. Root exception is org.omg.CosNaming. . .

解决方案: 在ConverterApp的JNDI Names标签页中,确信ConverterBean的JNDI names和ejb/SimpleConverter匹配.编辑相应的JNDI Name栏然后重新发布应用程序.

Web客户端运行时错误

在URL中的Web Context(上下文)不正确

症状: 浏览器报告页面无法找到(HTTP 404).

解决方案:检验在URL中的web context (converter)和你在这个章节的Component General Properties对话框中指定的是否匹配, 打包Web客户端. web context区分大小写.

J2EE应用程序没有被部署

症状:浏览器报告无法找到页面(HTTP 404).

解决方案:部署应用程序.

JNDI Name不正确

症状: 当你在网页上单击Submit时,浏览器报告A Servlet Exception Has Occurred.

解决方案: 在ConverterApp的JNDI Names标签页,确信ConverterBean的JNDI names和ConverterWAR的相匹配.编辑相应的JNDI Name栏然后重新部署应用程序.

用Verifier工具检测问题

verifier工具可以检测在deployment descriptors中不一致性和method signatures. 这些不一致性经常引起部署和运行时错误. 从deploytool中, 你可以用选择Tools-> Verifier来运行verifier工具的GUI版本. 你也可以运行一个verifier工具的单机版GUI版或command-line版.更多信息,查阅J2EETM SDK 工具.

当全部都失败时

如果没有任何事情去工作,你可以反安装应用程序然后运行cleanup脚本来清除server's repository. 你也需要停止和重启服务器:

j2ee -shutdown

cleanup

j2ee -verbose



↑返回目录
前一篇: J2EE入门(10)
后一篇: J2EE入门(9)