JBoss AS 7 で作業中の war ファイルをデプロイすると、次の例外が発生しました
11:59:11,090 WARN [org.jboss.as.server.deployment] (MSC サービススレッド 1-6) JBAS015893: 無効なクラス名 'com.sun.jersey.server.impl.model.parameter.multivalued.StringReaderProviders$ が見つかりましたサービスタイプ「com.sun.jersey.spi.StringReaderProvider」の「StringConstructor」 11:59:11,091 WARN [org.jboss.as.server.deployment] (MSC サービススレッド 1-6) JBAS015893: 無効なクラス名 'com.sun.jersey.server.impl.model.parameter.multivalued.StringReaderProviders$ が見つかりましたサービスタイプ「com.sun.jersey.spi.StringReaderProvider」の「DateProvider」 11:59:11,092 WARN [org.jboss.as.server.deployment] (MSC サービススレッド 1-6) JBAS015893: 無効なクラス名 'com.sun.jersey.server.impl.model.parameter.multivalued.JAXBStringReaderProviders$ が見つかりましたサービスタイプ「com.sun.jersey.spi.StringReaderProvider」の「RootElementProvider」 11:59:11,923 エラー [org.jboss.msc.service.fail] (MSC サービス スレッド 1-5) MSC00001: サービス jboss.deployment.unit."myimpl.war".POST_MODULE: org.jboss.msc の開始に失敗しましたサービス jboss.deployment.unit."myimpl.war".POST_MODULE の .service.StartException: デプロイメント "myimpl.war" のフェーズ POST_MODULE の処理に失敗しました org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] で org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] で org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] で java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_37] で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_37] で java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_37] で 原因: java.lang.NoClassDefFoundError: org/hibernate/exception/ConstraintViolationException java.lang.Class.getDeclaredConstructors0 (ネイティブ メソッド) で [rt.jar:1.6.0_37] java.lang.Class.privateGetDeclaredConstructors (Class.java:2389) [rt.jar:1.6.0_37] で java.lang.Class.getConstructor0 (Class.java:2699) [rt.jar:1.6.0_37] で java.lang.Class.getConstructor (Class.java:1657) [rt.jar:1.6.0_37] で org.jboss.as.web.deployment.jsf.JsfManagedBeanProcessor.deploy(JsfManagedBeanProcessor.java:108) で org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] で ... 5 つ以上 原因: java.lang.ClassNotFoundException: org.hibernate.exception.ConstraintViolationException from [Module "deployment.myimpl.war:main" from Service Module Loader] org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA] で org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA] で org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA] で org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA] で org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA] で org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA] で ... 11以上 11:59:11,938 INFO [org.jboss.as] (MSC サービス スレッド 1-7) JBAS015951: http://127.0.0.1:9990 でリッスンしている管理コンソール 11:59:11,938 エラー [org.jboss.as] (MSC サービス スレッド 1-7) JBAS015875: JBoss AS 7.1.1.Final "Brontes" が 72380 ミリ秒で開始されました (エラーあり) - 1548 サービスのうち 1402 サービスが開始されました (1 サービスが失敗しました)または依存関係の欠落、136 のサービスがパッシブまたはオンデマンド) 11:59:11,939 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: デプロイ "myimpl.war" のデプロイがロールバックされ、失敗メッセージ {"JBAS014671: 失敗したサービス" => {"jboss .deployment.unit.\"myimpl.war\".POST_MODULE" => "org.jboss.msc.service.StartException サービス jboss.deployment.unit.\"myimpl.war\".POST_MODULE: フェーズ POST_MODULE の処理に失敗しました展開 \"myimpl.war\""}} 11:59:12,036 INFO [org.jboss.as.server.deployment] (MSC サービス スレッド 1-5) JBAS015877: デプロイメント myimpl.war を 95 ミリ秒で停止しました 11:59:12,038 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: サービスステータスレポート JBAS014777: 開始に失敗したサービス: サービス jboss.deployment.unit."myimpl.war".POST_MODULE: org.jboss.msc.service.StartException サービス jboss.deployment.unit."myimpl.war".POST_MODULE: に失敗しましたデプロイメント「myimpl.war」のプロセスフェーズ POST_MODULE 11:59:12,040 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: 複合操作が失敗し、ロールバックされました。失敗した手順:" => {"操作手順- 2" => {"JBAS014671: 失敗したサービス" => {"jboss.deployment.unit.\"myimpl.war\".POST_MODULE" => "org.jboss.msc.service.StartException サービス jboss.deployment.unit で.\"myimpl.war\".POST_MODULE: デプロイメント \"myimpl.war\" のフェーズ POST_MODULE の処理に失敗しました"}}}}
JBoss AS 7 はデフォルトで、起動時に hibernate jar をクラスパスに追加することをサポートしていると思います (hibernate モジュールは JBoss AS7 で既に利用可能であるため)。hibernate-core-4.0.1.Final.jar (「modules\org\hibernate\main」フォルダー構造の下) の下にConstraintViolationExceptionクラスが見つかりました。では、なぜこのNoClassDefFoundErrorが発生するのでしょうか?
依存関係の解決にmavenを使用していないことに注意してください。依存関係を解決するために、手動で jar ファイルを myimpl.war\WEB-INF\lib に配置します
とにかく、次のような新しい例外が発生した後、WEB-INF\lib ディレクトリに休止状態の jar (hibernate3.jar) を追加しました。
12:51:19,146 エラー [org.jboss.msc.service.fail] (MSC サービス スレッド 1-6) MSC00001: サービス jboss.deployment.unit."myimpl.war".POST_MODULE: org.jboss.msc の開始に失敗しましたサービス jboss.deployment.unit."myimpl.war".POST_MODULE の .service.StartException: デプロイメント "myimpl.war" のフェーズ POST_MODULE の処理に失敗しました org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] で org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] で org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] で java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_37] で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_37] で java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_37] で 原因: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011232: 1 つの JAX-RS アプリケーション クラスのみが許可されています。com.sun.jersey.api.core.WebAppResourceConfig com.sun.jersey.api.core.ResourceConfig com.sun.jersey.api.core.ClassNamesResourceConfig com.sun.jersey.api.core.ScanningResourceConfig com.sun.jersey. api.core.ClasspathResourceConfig com.sun.jersey.api.core.DefaultResourceConfig com.sun.jersey.api.core.PackagesResourceConfig com.sun.jersey.server.impl.application.DeferredResourceConfig com.sun.jersey.api.core.アプリケーションアダプター org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scan(JaxrsScanningProcessor.java:209) で org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:105) で org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] で ... 5 つ以上
この問題を解決する方法を簡単に教えてください