Jaclを使用したantaskからwebsphereを使用してearをデプロイしようとすると、次のエラーが発生します。
[wsadmin] WASX7017E: Exception received while running file "C:\...\AppData\Local\Temp\wsant6857788060872488512jacl"; exception information: com.ibm.websphere.management.application.client.AppDeploymentException: com.ibm.websphere.management.application.client.AppDeploymentException: [Root exception is org.Eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml]
Websphereコンソールからearをデプロイしようとすると、次のようになります。
The following exception occurred. Check log for details.
com.ibm.websphere.management.application.client.AppDeploymentException: [Root exception is org.Eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException: WEB-INF/web.xml]
マシンの詳細:Win7x64、WebSphere 8.5 x86、Oracle jdk 6u30 x86を使用(x64でもテスト済み)。
他の人はインストーラーを彼らのために働かせることができました。他のスクリプトが共有ライブラリーを適切に更新するため、WebSphere接続情報は正しいです。これが他のマシンではなく他のマシンで動作する理由に戸惑っています。
多くの検索を行った後(同様の問題に報奨金を投稿した場合でも)、問題はweb.xmlのコメントであることがわかりました。
私は幸運にも、コメントがなくて機能していたソースブランチと、コメントがあり壊れていたこの他のブランチがありました。異なるブランチからの異なるインストーラーは、インストーラーがいくつかのマシンで動作することを可能にし、この他のブランチインストーラーは私のマシンで壊れました。
コメントを削除することで、WebSphereのバリデーターはそのエラーを乗り越えることができました...楽しいもの... WebSphereの人に報告します。
正しいwarファイル名を持つearのapplication.xmlファイルを確認し、ejbモジュールのjar名も確認してください。 warまたはejbjarファイル名に不一致がある場合、同様のエラーが発生します。私の場合、application.xmlで誤って指定されたwarファイル名に問題があります
同じエラーが発生しましたが、問題はweb.xmlではなくapplication.xmlにあり、仕様はapplication.xmlとweb.xmlの間で一貫していませんでした。 Web 3.0、J2EE 1.4は、Java EE6である必要があります。
この問題にしばらく時間を費やした後、私はついにweb.xmlにduplicateセッション構成タグがあることに気付きました。同僚の1人がコードをマージしているときに発生しました。
Web.xmlを検証できる方が良いです同様の重複タグがこの問題を引き起こす可能性があります。
<session-config>
<session-timeout>
15
</session-timeout>
</session-config
私の場合、次の手順を実行しました。-
EARに移動します
右クリック-> [プロパティの選択]。
DeploymentAssemblyをクリックします
-WebAppsをEARに追加/削除します。
未確認のプロジェクトをクリックします。最初にそれを削除し、再度追加します。