私はEclipseで次のプロジェクトをセットアップしています:
project
build.gradle
libraries.gradle
settings.gradle
ear-project
build.gradle
ejb-project
build.gradle
war-project
build.gradle
これはルート プロジェクトの build.gradle です。
apply from: "./libraries.gradle"
allprojects {
repositories {
mavenCentral()
}
}
buildscript {
repositories {
mavenCentral()
}
}
subprojects {
apply plugin: "java"
apply plugin: "eclipse"
apply plugin: "findbugs"
group = "foo.bar"
version = "1.0.0-SNAPSHOT"
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
configurations {
provided {
description = "Non-exported compile-time dependencies"
}
}
sourceSets.main {
compileClasspath += configurations.provided
}
eclipse {
classpath {
plusConfigurations += configurations.provided
}
}
dependencies {
provided(libraries.javaee)
provided(libraries.ejb)
provided(libraries.cdi)
provided(libraries.jpa)
}
}
ear-project build.gradle:
apply plugin: "ear"
dependencies {
deploy project(path: ":ejb")
deploy project(path: ":war", configuration: "archives")
}
ejb プロジェクト build.gradle
apply plugin: "java"
戦争プロジェクト build.gradle
apply plugin: "war"
コマンド ラインから「gradle build」を実行すると、.ear ファイルが生成されますが、.war ファイルにはコンパイルされていない .java クラスしか含まれていません。ejb プロジェクトのクラスは .class にコンパイルされます。war-project のクラスがコンパイルされないのはなぜですか?