刚安装的wsad 新建一个空的服务器和一个新的项目启动是就报错.
就快郁闷死了...
java.lang.NoClassDefFoundError: org/apache/log4j/Category
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:1747)
at java.lang.Class.getConstructor1(Class.java:2063)
at java.lang.Class.newInstance3(Class.java(Compiled Code))
at java.lang.Class.newInstance(Class.java(Compiled Code))
at com.ibm.ejs.container.EJSContainer.loadBeanMetaData(EJSContainer.java:1349)
at com.ibm.ejs.container.EJSContainer.getHomeWrapperCommon(EJSContainer.java:1012)
at com.ibm.ejs.container.EJSContainer.getHomeInstance(EJSContainer.java:934)
at com.ibm.ejs.container.EJSContainer.startBean(EJSContainer.java:913)
at com.ibm.ws.runtime.component.EJBContainerImpl.startBean(EJBContainerImpl.java:1340)
at com.ibm.ws.runtime.component.EJBContainerImpl.install(EJBContainerImpl.java:1073)
at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:1547)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:505)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:808)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:354)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:578)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:299)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:256)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:152)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:243)
at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:189)
at com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run(ServerRunnerV5.java:97)

解决方案 »

  1.   

    1.项目有没有部署到服务器中
    2.编码符不符合编码规范,WEBSPHERE要求挺严格的
      

  2.   

    我什么多没动过,就一个空项目.和一个新建的服务器..
    按道理说我是能够访问到:Http://localhost:9080/撒...郁闷..
    帮忙噢..在线等呢.
      

  3.   

    简述WebSphere服务不能启动的原因通常有以下几种情况引起。有没杀干净的java进程;数据库没有启动;数据库部分参数设置错误;数据库结构坏掉;was连接数据库的schema不一致;病毒;补丁等原因。起初WebSpher服务不能启动,只好重新安装,浪费了不少时间,走了不少弯路。当出现WebSphere服务不能启动时,一般请先按下面步骤做一下检查。通常情况下,只要重新初始化一下管理库就可以了。目录一、首先检查是否有没有杀干净的java进程二、检查db2数据库是否正常启动三、检查管理数据库was是否存在四、检查存放数据库的设备是否正常mount五、检查WebSphere联接was库的schema是否一致六、was管理数据库的修复(初始化)七、检查文件库是否坏掉与was管理库的重建八、Windows平台还应排除是否病毒原因九、Linux平台通常跟系统补丁有关内容一、先检查是否有没有杀干净的java进程在unix下:# ps –ef | grep java# kill –9 pid(注意确认是was的java进程) 然后再重新启动一次was服务。# /opt/WebSphere/AppServer/bin/startupServer sh&# tail –f opt/WebSphere/AppServer/logs/tracelog 在windows平台使用资源管理器查看并杀掉was java,重新启动服务。 二、检查db2数据库是否正常启动如果WebSphere使用的db2作为管理库,那么应该首先检查db2是否正常启动。如果没有启动应启动它:检查是否有数据库 mount fsck 在unix下:# su – db2as$ db2admin start$ su – db2inst1$ db2start 在win平台下从cmd窗口或服务中启动。 三、检查管理数据库was是否存在如果db2服务器动正常,仍不能启动,需要检查数据库是否存在。 在unix下:$ db2=>list db directory=>connect to was user <user> using <password> 在window平台下从db2 command widow或控制中心查看。 四、检查存放数据库的设备是否正常mount如果存在数据库却联接不上,可能情况之一是数据库设备没有正确mount上,在UNIX平台,非正常关机或一些对磁盘有破坏的操作会导致这种情况出现。 请使用下面命令检查没有mount上的磁盘。# df –k# mount# mountall# cat /etc/vfstab 假设检查到/dev/dsk/c0t0d0s6设备没有正确mount,使用 # fsck –f /dev/dsk/c0t0d0s6对其修复,再重新启动服务器。 五、检查WebSphere联接was库的schema是否一致现象:$ db2=>db2=>force application all# /opt/WebSphere/AppServer/bin/startupServer sh&启动服务后运行=>list applications也能列出已经联接was库,但仍启动失败。这时,确认是否改动过WebSphere联接数据库的dbUser,因为db2中不同用户创建的表存放在不同的schema下面,如果原来初始化成功,连接也正常,为了某种原因(如保密)将websphere联接was库的用户改掉,造成websphere找不到初始化表,造成服务无法启动。 解决办法有二:一)、修改回原来的dbuser,在/opt/WebSphere/AppServer/bin/admin.config中(win版本在相关目录下),相关行:com.ibm.ejs.sm.adminServer.dbUser=com.ibm.ejs.sm.adminServer.dbSchema= 二)、重新初始化管理数据库1、  WebSphere 3.54版本以前(含)1)、修改/opt/WebSphere/AppServer/bin/admin.config(win版本在相关目录下):install.initial.config=false 修改为 true2)、# /opt/WebSphere/AppServer/bin/startServer.sh & 2、  WebSphere 3.55、3.56版本,相对3.54版本做了比较大的改动1)、修改/opt/WebSphere/AppServer/bin/admin.config(win版本在相关目录下):install.initial.config=false 修改为 true还要修改com.ibm.ejs.sm.adminServer.dbInitialized=true改为 false2)、# /opt/WebSphere/AppServer/bin/startServer.sh &