Jboss AS 7.1.1 で実行しようとしている古いプロジェクトの pom.xml を確認しています。この pom には、次のようなアーティファクトとの多くの依存関係が含まれています。
- 休止状態のコア
- 休止状態バリデーター
- hibernate-jpa-2.0-api
- 休止状態のエンティティマネージャー
- ...
Jboss 7.1.1 にはモジュールがあるため、次の内容で作成することをorg.hibernate
除いて、これらの依存関係を削除することができました。hibernate-core
\META-INF\jboss-deployment-structure.xml
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<dependencies>
<module name="org.hibernate"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
したがって、WARファイルをコンパイルできるようにするには、この依存関係が必要です
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
provided
しかし、スコープで設定できない理由がわかりません。モジュールに含まれている場合org.hibernate
、なぜそうできないのですか? として設定するとprovided
、次のエラーが発生します。
Initial SessionFactory creation failed.java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
provided
WARファイルから除外するためだけにスコープで設定したい