0

私のpom.xmlには、次の依存関係があります

<dependency>
   <groupId>org.codehaus.woodstox</groupId>
   <artifactId>wstx-asl</artifactId>
   <version>3.2.8</version>
</dependency>

私のEclipseはjarファイルを期待どおりにダウンロードし、私のコードは問題なくコンパイルされます。しかし、JUnit テストを実行すると、依存関係がない場合に予想されるシナリオである例外が発生します。

依存関係を変更すると

<dependency>
   <groupId>org.codehaus.woodstox</groupId>
   <artifactId>wstx-asl</artifactId>
   <version>3.2.8</version>
   <scope>system</scope>
   <systemPath>\path\to\wstx-asl-3.2.8.jar</systemPath>
</dependency>

問題は解決しません。しかし、pom.xml から依存関係を削除し、標準的な Eclipse の方法を使用してビルドパスに追加すると、すべて正常に動作します。

テストを実行するmvn packageと、問題なく実行されます。問題が発生するのは、Eclipse環境でそれらを実行した場合のみです。

ここで何が欠けていますか?

4

1 に答える 1

2

Eclipseには個別のビルドパスがあります。Eclipse内でMavenプロジェクトを使用する場合、ダウンロードされたMavenアーティファクトを指すためにEclipseが使用するビルドパスを再構築する必要があります。

mvn eclipse:eclipseこれを行うには、プロジェクトを実行してから、Eclipse内からプロジェクトをクリーンアップしてビルドします

このMavenプラグインは、プロジェクト内の.classpathファイルを再構築します。このファイルは、ビルドパスを格納します。

参照: http: //maven.apache.org/plugins/maven-eclipse-plugin/eclipse-mojo.html

于 2013-02-05T11:58:54.983 に答える