この構造に似たGradleマルチプロジェクトを作成しようとしています
ouat-services
- ouat-contract
- ouat-servicesImpl (web project)
Eclipse の例に従い、ouat-services の settings.gradle を次のように定義します。
include "ouat-contract", "ouat-servicesImpl"
私の ouat-servicesImpl build-gradle で定義します
dependencies {
compile project(':ouat-contract')
}
ouat-servicesImpl で war プラグインを適用しようとすると、問題が発生します。Eclipse の問題ビューに次のメッセージが表示されます。
Invalid classpath publish/ export dependency /ouat-contract. Project entries not supported
私のouat-services build.gradle
configure(subprojects) {
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'eclipse'
apply plugin: 'java'
version = '1.0'
sourceCompatibility = 1.8
targetCompatibility = 1.8
def defaultEncoding = 'UTF-8'
[compileJava, compileTestJava]*.options*.encoding = defaultEncoding
repositories {
jcenter()
mavenLocal()
mavenCentral()
}
jar {
manifest.attributes provider: 'Company'
}
}
configure(project(':ouat-servicesImpl')) {
apply plugin: 'checkstyle'
apply plugin: 'eclipse-wtp'
apply plugin: 'findbugs'
apply plugin: 'jacoco'
//apply plugin: 'jetty'
apply plugin: 'pmd'
apply plugin: 'war'
}
buildscript {
repositories {
jcenter()
mavenCentral()
mavenLocal()
}
dependencies {
classpath 'com.github.ben-manes:gradle-versions-plugin:0.10.1'
}
}
私の ouat-servicesImpl ビルド gradle は次のように変更されました。
dependencies {
compile project(':ouat-contract')
cxfArtifacts.each { artifact ->
compile "org.apache.cxf:$artifact:$cxfVersion"
}
springArtifacts.each { artifact ->
compile "org.springframework:$artifact:$springVersion"
}
testCompile "org.testng:testng:$testNGVersion"
testCompile "org.hamcrest:hamcrest-all:$hamcrestVersion"
testCompile "org.springframework:spring-test:$springVersion"
//WAR PLUGIN
providedCompile "javax.servlet:javax.servlet-api:$servletAPIVersion"
runtime "javax.servlet:jstl:$jstlVersion"
}
これはEclipseプラグインの問題ですか、それとも何か間違っていますか?