2016-11-15 1 views
0

を提供Mavenの依存関係を置き換えます私は効果的なポンポンをチェックすると、私は次のエントリを見つけますローカルクラス

<dependency> 
    <groupId>com.package.of.other.department</groupId> 
    <artifactId>someArtifact</artifactId> 
    <version>2.4.2</version> 
    <scope>provided</scope> 
    </dependency> 

これは、我々は我々のソフトウェア(BPMNプロセス)させるために使用する必要があり、親ポンポン実行から来て企業全体のプラットフォームで

今やハッキーな部分があります。より大きな変更があり、我々はもはやsomeArtifactを使用することはできません。残念ながら、アーティファクトはすべてのプロセス(プロセスを設計し、アイテムの完全修飾クラス名を構成する)によって直接呼び出され、多くの実行プロセスを壊す可能性が高いため、異なるアーティファクトを構成するだけではありません。

単純な計画は、同じパッケージ名と同じクラス名を持つクラスを作成し、元のパッケージへの依存関係をすべて削除してすべてうまく動作するようにすることでした。テスト中、私はそれが私の新しいクラスを使用していないことに気付きましたが、依然として元のものを使用しました。これは必須の親pomを介して依存関係として提供されています。

親のpomから提供された依存関係を除外しても、それは簡単には機能しません。どのようにして私の問題を解決することができますか?

+0

どこに新しいクラスがありますか?テストに使用されるモジュールと同じですか? – JimHawkins

+0

@JimHawkins:新しいクラスはプロセスの中核であり、すべてのプロセスがロジックのコアにアクセスします。 – Feroc

+0

'mvn dependency:tree'を実行し、someArtifactが一時的に含まれていないかどうかを確認します – hoaz

答えて

1

アプリケーションが通常のJavaの場合、ロードされるクラスはクラスパスの順序で満たされる最初のクラスです。

他のランタイムパッケージ依存関係管理を使用する場合、戦略は異なります。例として、OSGiでインポートパッケージを調整して、クラスがプライベートパッケージに含まれていることを確認できます。

関連する問題