2016-12-08 19 views
0

Glassfish 4でantからmavenに変換されたプロジェクトをデプロイする際に問題が発生しています。build.xmlでwarファイルを生成すると問題なく展開できます私はMavenのでwarファイルを作成し、それを展開しようとすると、しかし、私は次の例外を取得:Glassfish 4:Mavenでビルドするときのデプロイメントの問題

Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: java.lang.ArrayIndexOutOfBoundsException: 48188. 

私はpom.xmlファイル内のいくつかの問題があることを前提としています。私はここにペーストビンしますが、それは非常に大きなファイルです(プロジェクトは多くの依存関係を使用します)ので、それが大いに役立つかどうかはわかりません。その例外を引き起こす原因は何ですか?

pom.xmlファイル: http://pastebin.com/aQS2inaQ

肥満児。

クリス・マイケルズ

+0

に置き換えると、私はこれが役立つと思いますu。 [http://stackoverflow.com/questions/21039049/severe-containerbase-addchild-startorg-apache-catalina-lifecycleexception-fa](http://stackoverflow.com/questions/21039049/severe-containerbase-addchild-startorg -apache-catalina-lifecycleexception-fa) – Shalika

+0

悲しいことに、私の問題に適用された解決策はありません。 Att。 Chris Michaels –

+0

あなたのPOMには多くのクリーンアップが必要です。依存関係のデフォルトスコープは 'compile 'なので、' test'スコープが必要なすべてのテストフレームワーク、GlassFishに付属している競合するすべてのJSRなど、そこにはないはずのたくさんのものをパッケージします。 ' のjavaxあなたにも追加することができます ' – Mike

答えて

0

AntとMavenで作成された2つのWARの内容を比較します。 WEB-INF/libのjarファイルのリストは似ているはずです。私は、MavenバージョンにはAntバージョンよりもはるかに多くのものが含まれていると思います。

あなたはGlassFishの中ですでに利用可能である唯一のAPIを提供し、依存関係にprovided範囲を与える必要があります:

<dependency> 
    <groupId>javax.el</groupId> 
    <artifactId>el-api</artifactId> 
    <version>1.1</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.hibernate.javax.persistence</groupId> 
    <artifactId>hibernate-jpa-2.0-api</artifactId> 
    <version>1.0.1.Final</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.ejb</artifactId> 
    <version>3.1</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.glassfish</groupId> 
    <artifactId>javax.faces</artifactId> 
    <version>2.1.7</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>org.jboss.spec.javax.transaction</groupId> 
    <artifactId>jboss-transaction-api_1.1_spec</artifactId> 
    <version>1.0.0.Final</version> 
    <scope>provided</scope> 
</dependency> 

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-bundle</artifactId> 
    <version>1.11</version> 
    <scope>provided</scope> 
</dependency> 

それとも、それらの依存関係を削除し、

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>7.0</version> 
    <scope>provided</scope> 
</dependency> 
+0

ねえ、ありがとう、実際に助けてくれました。 私の特に問題は、warファイル内の特定のjar icu4j.jarでした。 mvn依存関係ツリーの検証結果、ファイルがjaxen 1.1.1から来たことがわかりました。 jaxen 1.1.6を使用して、jarを依存関係から削除し、問題を解決しました。 –

0
  • galssfishサーバーのJDKのバージョンは何ですか?
  • アプリケーションをビルドするために使用するjdkバージョンは何ですか?
  • プロジェクトにmaven依存関係を追加しましたか?
  • Maven依存関係を何度か更新した後、Jreシステムライブラリ が自動的にアプリケーション内で変更されました。 依存関係を更新した後、 jreシステムライブラリのバージョンをjavaビルドパスでチェックしましたか?
関連する問題