モロ、あなたはコメントで、X には次の依存関係が宣言されていると書いています。
<dependency>
<groupId>Y</groupId>
<artifactId>Y</artifactId>
<scope>provided</scope>
<version>1.0</version>
</dependency>
最初のポイント。ここでは「固定」バージョンを使用しています (「SNAPSHOT
」ではなく)。を使用すると、ビルドするたびSNAPSHOT
に maven が自動的に最新のものを取得します。一方、1.0 を使用している場合、maven がこのアーティファクトをダウンロードすると、新しい 1.0 を取得しようとすることはありません。したがって、Y のバージョンをインクリメントするか、Y が活発に開発中 (拡張、バグ修正など) の場合は、実際に を使用する必要があります。の詳細については、 9.3.1.2の章を参照してください。スナップショット Sonatype の本のバージョン:SNAPSHOT
SNAPSHOT
SNAPSHOT
なぜこれを使うのですか?SNAPSHOT バージョンは、現在開発中のプロジェクトに使用されます。プロジェクトがアクティブな開発中のソフトウェア コンポーネントに依存している場合、SNAPSHOT リリースに依存することができ、Maven はビルドの実行時に定期的にリポジトリから最新のスナップショットをダウンロードしようとします。同様に、システムの次のリリースのバージョンが「1.4」である場合、正式にリリースされるまで、プロジェクトのバージョンは「1.4-SNAPSHOT」になります。
2点目。provided
スコープを使用しています。章によると
9.4.1. 依存範囲:
provided
依存関係は、JDK またはコンテナーがそれらを提供すると予想される場合に使用されます。たとえば、Web アプリケーションを開発している場合、サーブレットをコンパイルするには、コンパイル クラスパスでサーブレット API を使用できる必要がありますが、パッケージ化された WAR にサーブレット API を含めたくはありません。サーブレット API JAR は、アプリケーション サーバーまたはサーブレット コンテナーによって提供されます。provided
依存関係は、コンパイル クラスパス (実行時ではない) で利用できます。それらは推移的ではなく、パッケージ化されていません。
これは本当にあなたが望むものですか?X と Y を JBoss にどのようにデプロイしていますか? デフォルトのcompile
スコープを使用するべきではありませんか?