私はAという名前のmavenプロジェクトを持っています。これはB.jarという別のjarファイルに依存します。ビルド中にB.jarのクラスは常にAで重複しています.MavenがAのクラスをBに入れないようにする方法は何ですか?jarのクラスがmavenの現在のプロジェクトに重複しないようにする方法
1
A
答えて
3
私はあなたのMavenモジュールについての本当の問題があると思います。
JARは、別のJARで使用されているクラスを除外するようには設計されていません。
なぜB JARでは、実行時に使用する実装クラスを選択する方法はありませんか? プロパティ、実装するインタフェースなど複数の方法で許可できます。
このようにして、クライアントアプリケーションで使用するクラスを指定できます。
クライアントクラスで実装するには、APIの面ではなく、上書きするクラスではないと考えるべきです。
これはMavenで行うことはできないが、複雑ではなく、自然ではなく、エラーが発生しやすく、うまく設計されていないように見える。
ここにMavenで解決するためのアイデアがあります。
あなたは、パッケージ瓶に除外するクラスを指定するのmaven-jarファイル・プラグインを設定できます。
433Hereは、リファレンスドキュメントです。
ただし、これを実行することで、どのような場合でもクラスはJARで使用できなくなります。
置換するクラスがB
に必要な場合、B JARは単独では機能しません。
この問題を回避するには、specific classifierでJARをパッケージ化できます。
あなたは、すべてが入っている古典的な瓶と、この有名な複製クラス以外のすべてを含んだjar-for-aを持っています。
本当にあなたのデザインについて本当に考えるべきだと思います。
関連する問題
- 1. Maven NetbeansプロジェクトにJARを含める方法Mavenリポジトリに存在しないNetBeansプロジェクト
- 2. クラスがorg.eclipse.OSGI jarファイルに存在しないようですか?
- 3. 現在のプロジェクトを実行する前にmavenで依存関係jarを実行する方法
- 4. ブートストラップ行が重複しないようにする方法
- 5. Apache Commons JarのRandomStringUtils.randomを使用して重複数が生成されないようにする方法
- 6. Mavenカスタムプラグインからコンパイルする前に、現在のプロジェクトのクラスをスキャンする方法は?
- 7. mavenマルチモジュールプロジェクトのあるプロジェクトから別のプロジェクトにjarをパッケージ化する方法
- 8. 現在のsbtライブラリのjarファイルとしてGithubプロジェクトを使用する方法
- 9. 他のdivにナビゲーションバーが重複しないようにする方法
- 10. Intellij(Mavenプロジェクト)の外部jar(.jar)のルートからクラスをインポート
- 11. mavenコンパイルエラー:重複クラス
- 12. 現在、重複
- 13. elasticsearch/kibanaの結果が重複しないようにする方法
- 14. 列挙型の値が重複しないようにする方法は?
- 15. 3つの列が重複しないようにする方法
- 16. Mavenの親プロジェクトのjarファイルを生成する方法
- 17. のJBoss Mavenプロジェクト私は私はこのようなシステムスコープを使用している私のMavenプロジェクトにpubliレポには存在しないjarファイルを追加する必要が公開リポジトリに存在しませ
- 18. maven webappプロジェクトに外部jarを追加する方法
- 19. 外部のjarファイル(これはmavenアーティファクトにはない)からクラスを持つmavenプロジェクトをコンパイルする
- 20. クエリ結果にフィールド名が重複しないようにする方法
- 21. netbeansプロジェクトに.jar libのクラスを追加する方法は?
- 22. Maven:現在のプロファイルをコンソールに印刷する方法は?
- 23. 私のmaven jarを公に利用できるようにする方法
- 24. jarとデコンパイラエラーで重複するクラス名
- 25. Laravel 5.2 Looping結果が重複しないようにする方法は?
- 26. アブソリュートボタンの入力が重複しないようにします。
- 27. セロリのタスクを確実にする方法セロリのタスクの実行が重複しないようにする
- 28. 複数のモジュール(jar)をMaven 2の単一のjarファイルにマージする最も簡単な方法
- 29. Maven:現在のプロジェクトと依存するプロジェクトで同じライブラリの異なるバージョンを使用しています
- 30. eclipseにmavenプロジェクト用の重複したjavaパッケージエントリがある理由
問題を解決するために、BからAにファイルをコピーするだけです – georgewhr