我正在尝试将EAR文件编译并部署到WebSphere 6.1应用服务器(WAS) - 而不是 Rational Application Developer(RAD)或Liberty。我正在尝试将编译和部署移植到构建服务器的初始阶段。编译时我完全没有问题。然而,当我试图部署EAR我得到一个AppDeploymentException:部署手动Websphere时发生AppDeploymentException EAR
The EAR file could be corrupt and/or incomplete. Make sure that the application is at a compatible Java 2 Platform, Enterprise Edition (J2EE) Level for WebSphere Application Server.
我读的地方(现在找不到链接),这是文件必须使用IBM JDK进行编译。所以我installed that并重新编译,但得到了同样的问题。
类文件(来自javap)的主要版本是正确的,但我仍然对这个错误感到困惑,因为它似乎是“工作”和“不”之间的唯一区别是字节码本身。是否有其他固有的mojo需要这些文件由RAD构建?
This question表明WebSphere 6.1的web.xml模式必须为2.4,但这对我没有任何影响。事实上,如果我将工作EAR(通过RAD创建)从该副本中仅将类文件复制到由原始JDK/gradle进程创建的EAR中,它将起作用。
对不起,我不熟悉WebSphere以包含有关错误的更多信息。我检查了该配置文件的activity.log文件,甚至找不到在控制台输出中报告的错误。该dmgr日志只说:
[7/8/14 12:46:56:886 PDT] 0000073b ApplicationDe I ApplicationDeploymentController perform ApplicationDeploymentControll
er: performing appcontexts refresh
[7/8/14 12:47:00:416 PDT] 0000073b WebApp A SRVE0180I: [isclite#isclite.war] [/ibm/console] [Servlet.LOG]: action: ApplicationDeploymentDetailForm was null.Creating new form bean and storing in session
[7/8/14 12:48:25:273 PDT] 0000062d wtp W org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ModuleRefImpl in
itModuleFileFromEAR Ignoring FileNotFoundException [ mbepepWeb.war ]
[7/8/14 12:48:25:279 PDT] 0000062d wtp E org.eclipse.jst.j2ee.application.internal.impl.WebModuleImpl incomp
atible with org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile
我不知道这是多么相关。提到的war文件位于EAR文件的根目录。
希望有人有一个建议!
谢谢,这有助于澄清要求,但不是我的问题。我使用1.5(主要版本49),并已取代耳朵的所有其他部分,但它仍然无法正常工作。我补充了我认为的答案。 – AndyJ