我在部署我的应用程序时使用的是websphereallationserver版本7.0.0.13。war是使用Ant 1.8.2版本构建war和ear文件的。当我通过WebSphere安装应用程序时,我遇到了以下错误:
EAR文件可能已损坏和/或不完整。确保应用程序是在一个兼容的Java(TM)平台,企业版WebSphere(R)应用程序当前版本的(Java EE)级别服务器。
com.ibm.websphere.management.application.client.AppDeploymentException[根异常是org.eclipse.jst.j2ee. commonarchiveecore .internal.exception. deploymentdescriptorloadexeption:dd_in_ear_load_EXC_]
我可以知道问题的原因吗?还是我错过了在Ant脚本中配置一些东西?下面是编译WAR和EAR的ANT脚本。
<target name="compilewar" description="generating war">
<war destfile="${dist.path}/WebApp.war" webxml="${source.path}/mywebapp/src/main/webapp/WEB-INF/web.xml">
<webinf dir="${source.path}/mywebapp/src/main/webapp/WEB-INF/" includes="**/*"/>
<lib dir="${dist.path}/" includes="*.jar"/>
<classes dir="${source.path}/mywebapp/src/main/resources/" includes="**/*"/>
<fileset dir="${source.path}/mywebapp/src/main/webapp/">
<include name="**/*.jsp"/>
</fileset>
<fileset dir="${source.path}/mywebapp/src/main/webapp/">
<include name="main/**/*"/>
</fileset>
</war>
</target>
<target name="compileear" description="Compile Ear file">
<ear destfile="${source.path}/myear/src/main/application/WebApp.ear" appxml="${svn.working.project.path}application.xml">
<metainf dir="${source.path}/mywebapp/src/main/webapp/META-INF"/>
<fileset dir="${dist.path}/" includes="*.war"/>
</ear>
</target>
谢谢@ !
@huahsin68:确保使用WAS JDK来编译打包为war文件一部分的类。如果你也使用ant来编译,确保ant使用WAS JDK作为java环境来运行。
服务器的systemout.log和startServer.log必须给出更多的日志。检查。
如果您使用的是eclipse之类的IDE,请将项目遵从性级别设置为J2EE1.5,然后清理并重新构建。
我已经解决了这个问题。这是由于javac ant任务中缺少源属性。正如ANT文档中提到的源属性:
请注意,默认值取决于运行Ant的JVM。我们强烈建议始终指定此属性。
建议指定将要用于编译的java版本。下面是源属性的示例用法:
<javac source="1.6"/>
谢谢@ !
似乎您正在尝试在支持Java EE 5的WAS 7中部署兼容j2ee 1.3/1.4的WAR/EAR。检查application.xml和web.xml,看看是否使用了正确的模式版本。还要检查IBM特定的部署描述符。我在WAS支持网站上找到了这个链接
当我在websphere中安装一个简单的EAR时,我遇到了相同的异常:[根异常是org.eclipse.jst.j2ee. commonarchiivecore .internal.exception. deploymentdescriptorloadexception: dd_in_ear_load_EXC_],原因是EAR内部的WAR被解包了。所以,我建了一个新的EAR,里面装了一个WAR,它工作了。在我的情况下,我使用MAVEN和插件是(观察标签unpack与false值)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.10</version>
<configuration>
<modules>
<webModule>
<groupId>com.javaen</groupId>
<artifactId>myApp</artifactId>
<uri>myWar.war</uri>
<bundleFileName>myWar.war</bundleFileName>
<contextRoot>/myWar</contextRoot>
<unpack>false</unpack>
</webModule>
</modules>
</configuration>
</plugin>
我希望这对你有帮助,regards