WAS平台war部署不成功:AppDeploymentException: [null]

来源:互联网 发布:wampserver 本地域名 编辑:程序博客网 时间:2024/05/20 11:21

         一、背景

             供应商发给同事一个war部署包,用java开发的,让我帮助部署在WAS测试环境(临时使用),在工作台页面上传war包部署的时候报如下错误:

                        EAR 文件可能已损坏或不完整。确保对于 WebSphere Application Server,该应用程序处于兼容的 Java 2 Platform, Enterprise Edition (J2EE) 级别。
                       AppDeploymentException: [null] org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException: dd_in_ear_load_EXC_

             服务器环境:linux5+jdk1.5+WAS6

         二、问题排查

              为了方便查找问题我就用本机的tomcat进行部署,环境为:win7+jre6+tomcat7,操作步骤:

              1、把**.war包copy到tomcat-》webapps目录下,tomcat启动的时候会自动解开包部署;

              2、启动startup.bat;

              3、系统报错:tomcat日志可以在tomcat--》logs目录下找到:localhost.2013-04-18.log文件;报错信息如下:

 2013-4-18 10:14:28 org.apache.catalina.core.StandardContext listenerStart
严重: Error configuring application listener of class com.epichust.mestar.web.listener.SitemeshEncoderListener
java.lang.UnsupportedClassVersionError: com/epichust/mestar/web/listener/SitemeshEncoderListener : Unsupported major.minor version 51.0 (unable to load class com.epichust.mestar.web.listener.SitemeshEncoderListener)
 at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2827)
 at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1655)
 at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
 at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:525)
 at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:507)
 at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701)
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5260)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:842)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
 at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
 at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
 at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
 at java.util.concurrent.FutureTask.run(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
2013-4-18 10:14:28 org.apache.catalina.core.StandardContext listenerStart
严重: Skipped installing application listeners due to previous error(s)

提示不支持51.0版本,在网上baidu一下找到原因:51.0版本表示需要java1.7版本环境,也就是说,war包是用jdk1.7编译的;

4、解决办法:安装java7,配置环境变量(环境变量的配置网上很多);

5、顺便tomcat也配置一下,如下:

     新建变量名: CATALINA_HOME, 值(value)为:D:\apache-tomcat-7.0.23
    查找变量名: classpath, 增加值为%CATALINA_HOME%\lib
    增加后的classpath的值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\lib

6、启动tomcat--》bin--》startup.bat,本机就成功部署了

7、由于公司的was测试服务器环境是统一配置,所以就不再部署了(升级一下JDK版本到1.7就可以了),该war包是临时使用,就让同事先用我本机部署的系统了。

原创粉丝点击