2017-08-18 17 views
0

現在、gradleビルドでこの奇妙な問題が発生しています。以下はその詳細です。グラデーションクリーンビルド中にGradle compileTestJavaが失敗する

私は現在、次のような構造

RootProjectDir 
     SubProjectA 
     SubProjectB 
     SubProjectCommon 

内のjava-春ブーツベースのマルチモジュールGradleのプロジェクトは、プロジェクトの各1のbuild.gradleファイルが

RootProjectDirビルド以下の通りですしています。 Gradleの

dependencies { 
compile project(":SubProjectA") 
compile project(":SubProjectB") 
compile project(":SubProjectCommon") 
testCompile('org.springframework.boot:spring-boot-starter-test') 
} 

SubProjectAは

dependencies { 
compile('org.springframework.boot:spring-boot-starter-actuator') 
compile('org.springframework.boot:spring-boot-starter-jdbc') 
compile('org.springframework.boot:spring-boot-starter-web') 
..... 
..... 
} 
build.gradle

dependencies { 
compile project(":SubProjectCommon") 

} 

SubProjectCommon build.gradle

dependencies { 
compile project(":SubProjectCommon") 

} 

SubProjectBをbuild.gradle

私はビルドがSubProjectAのcompileTestJavaフェーズ中に障害が発生している

Gradleのクリーンビルドを実行します。 SubProjectAテストでは、SubProjectCommonのクラスにコンパイル時の依存関係があります。

私は、次の

のGradle実行する場合:ビルドが再び成功するsubProjectA compileTestJava

を。

SubProjectCommonクラスを解決できなかったというメッセージで失敗しています。

奇妙なことは、IntelliJ IDEAでは、SubProjectAテストクラスのコンパイルに関する問題は表示されず、テストは正常に実行されるということです。私はちょうど

Gradleのきれいなテストを実行するときにも

すべてが正常に動作します。

私もこの

SubProjectAビルドのようなSubProjectAのbuild.gradleにSubProjectCommonにtestCompile依存性を入れてみました。Gradleの

dependencies { 
    compile project(":SubProjectCommon") 
    testCompile project(":SubProjectCommon") 

    } 

それでも

PSを動作しません:-Iは、現在だけSubProjectAクラスのテストケースを書かれています。

+0

Gradle 4.1とSpring Boot 1.5.4で同様の問題が発生しています –

答えて

1

IDEはモジュールパス、特にEclipseを尊敬しません。特にEclipseはすべて一緒に含まれるため、パスの問題は発生しません。

Gradleは、さまざまなプロジェクトを明確に区別します。あなたのクラスは、テストフォルダにあった場合

だから、あなたは適切に下記の使用してテスト・セットを参照する必要があります。

testCompile project(":SubProjectCommon").sourceSets.test.output 

または

compile project(":SubProjectCommon").sourceSets.test.output 

は、どののsourceSetクラスをから使用されるかに応じてもう一つのプロジェクト。

関連する問題