2017-12-26 12 views
0

私はかなり基本的なmavenプロジェクトをeclipseで持っています。私はいくつかの新しい依存関係を持つPOMを更新し、その後、私はMaven:コンパイルエラーはありませんが、まだシンボルを見つけることができません

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project commons: Compilation failure: Compilation failure: 
[ERROR] /path/to/my/class:[5,40] package org.springframework.test.context does not exist 
[ERROR] /path/to/my/class:[8,2] cannot find symbol 
[ERROR] symbol: class ActiveProfiles 

を取得するが、私は必要とした各時間として

mvn clean install

または

mvn compile

を行うカント私のポムの依存関係は

<dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-test</artifactId> 
     <version>5.0.0.RELEASE</version> 
     <scope>test</scope> 
     <exclusions> 
      <exclusion> 
       <groupId>org.slf4j</groupId> 
       <artifactId>slf4j-log4j12</artifactId> 
      </exclusion> 
      <exclusion> 
       <groupId>log4j</groupId> 
       <artifactId>log4j</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

私は範囲がテスト

<scope>test</scope>

ですが、それは、ビルド時に右の問題ではないことを知っていますか?最も重要なのは、IDEにコンパイルエラーが表示されないことです。私は日食火星を使用しています。

どのようにして正常にビルドできますか?

+0

あなたのクラスは 'src/test/java'ですか? – SilverNak

+2

*ビルド権の問題ではありません*:もちろん重要です。スコープテストの依存関係は、実動クラスではなくテストクラスをコンパイルするために使用されます。 Eclipseはこの区別をすることができません。そのため、Eclipseには問題はありません。 –

答えて

1

<スコープ>テスト< /範囲>セクションを削除してみてください。またはスコープをコンパイルしてください。

試験
このスコープは、依存関係は、アプリケーションの通常の使用のために必要とされていないことを示し、そして試験のコンパイルと実行フェーズでのみ使用可能です。

また、documentation for Maven Dependency Scopeもチェックしてください。

+0

うれしかったよ! – prime

+0

これはEclipseの制限があるため、正しい動作を100%エミュレートできません。 –

関連する問題