Maven を使用した 2 つのプロジェクトがあります。1 つ目は、ユーティリティ クラスとメソッドを含むライブラリです。2 番目のプロジェクトは、ライブラリを依存関係として持つ実際のアプリケーションです。私のライブラリは、サードパーティのライブラリを内部的に使用しています。
したがって、これらは依存関係です。
- マイ ライブラリ: サードパーティ ライブラリに依存
- 私のアプリケーション: 私のライブラリに依存します
ただし、アプリケーションでコンパイル時にサードパーティのライブラリ クラスを使用できるようにしたくありません。これは、アプリケーションが大規模なチームによってサポートされているためであり、いくつかのクラス名といくつかのメソッド名が類似していることを考慮して、人々がアプリケーションでサードパーティ ライブラリのメソッドを誤って使用するのを防ぎたいからです。もちろん、サードパーティのライブラリは実行時にアプリケーションで利用できる必要があります。
すべての依存関係のスコープがcompileだった場合、目標を達成できません。Maven 3でこれを達成する方法はありますか?