私は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. 現在のsbtライブラリのjarファイルとしてGithubプロジェクトを使用する方法
- 5. mavenコンパイルエラー:重複クラス
- 6. Intellij(Mavenプロジェクト)の外部jar(.jar)のルートからクラスをインポート
- 7. 現在、重複
- 8. 列挙型の値が重複しないようにする方法は?
- 9. 3つの列が重複しないようにする方法
- 10. Mavenの親プロジェクトのjarファイルを生成する方法
- 11. maven webappプロジェクトに外部jarを追加する方法
- 12. 外部のjarファイル(これはmavenアーティファクトにはない)からクラスを持つmavenプロジェクトをコンパイルする
- 13. netbeansプロジェクトに.jar libのクラスを追加する方法は?
- 14. Maven:現在のプロファイルをコンソールに印刷する方法は?
- 15. jarとデコンパイラエラーで重複するクラス名
- 16. Laravel 5.2 Looping結果が重複しないようにする方法は?
- 17. アブソリュートボタンの入力が重複しないようにします。
- 18. セロリのタスクを確実にする方法セロリのタスクの実行が重複しないようにする
- 19. 複数のモジュール(jar)をMaven 2の単一のjarファイルにマージする最も簡単な方法
- 20. Maven:現在のプロジェクトと依存するプロジェクトで同じライブラリの異なるバージョンを使用しています
- 21. jsonschema2pojo重複するクラス(クラス名を重複しない)
- 22. Mavenプロジェクトのビルド方法ローカルMavenリポジトリの既存のjarを使って
- 23. データベースエントリに重複しない空の変数がないようにする
- 24. フラグメントを使用する際にコードが重複しないようにするための最良の方法
- 25. magitを現在のウィンドウレイアウトに尊重する方法
- 26. リサイズ時にdivが重複しないようにする
- 27. QVBoxLayoutにウィジェットが重複しないようにする
- 28. build.xmlやpom.xmlがないプロジェクトのjarをビルドする方法
- 29. 現在実行中のjarのファイルをコピーする方法
- 30. Androidスタジオmavenプロジェクト - jarが動作しない
問題を解決するために、BからAにファイルをコピーするだけです – georgewhr