Java gradle项目范围服务

时间:2016-12-04 20:58:15

标签: java gradle

当我在控制台中构建项目时,我没有项目范围服务中可用的类型样式文本输出工厂的服务。我还有一个文件pom.xml。我不知道我做错了什么

这是我的build.gradle:

import java.sql.Wrapper

buildscript {
    ext {
        springBootVersion = '1.2.5.RELEASE'
    }
    repositories {
        maven { url "http://repo.spring.io/libs-milestone" }
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") 
        classpath("io.spring.gradle:dependency-management-plugin:0.5.1.RELEASE")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'idea'
apply plugin: 'spring-boot' 
apply plugin: 'io.spring.dependency-management' 
apply plugin: 'war'


war {
    baseName = 'springboot'
    version = '0.0.1-SNAPSHOT'
}
sourceCompatibility = 1.7
targetCompatibility = 1.7

repositories {
    mavenCentral()
    maven { url "http://repo.spring.io/libs-milestone" }
}

configurations {
    providedRuntime
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-data-jpa")
    compile("javax.servlet:jstl:1.2")
    runtime("mysql:mysql-connector-java")
    compile("org.springframework.boot:spring-boot-starter-jdbc")
    // https://mvnrepository.com/artifact/javax.el/el-api
    compile group: 'javax.el', name: 'el-api', version: '2.2.1-b04'

    compile ("org.springframework.boot:spring-boot-starter-web")
    providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
    providedRuntime 'org.apache.tomcat.embed:tomcat-embed-jasper'
}


eclipse {
    classpath {
         containers.remove('org.eclipse.jdt.launching.JRE_CONTAINER')
         containers 'org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7'
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '2.3'
}

1 个答案:

答案 0 :(得分:4)

我认为问题是正在使用的Gradle和Spring的依赖管理插件版本的功能。

在此Bug in Gradle 2.14-rc1 - No service of type StyledTextOutputFactory报告中查看Spring人员的原始报告。 Gradle在某些时候将StyledTextOutputFactory移动到内部包(对于3.0版本),这破坏了依赖管理插件0.5.x.

dependency-management-plugin issue详细说明了他们的更改,以便在0.6.0版本中解决此问题。

我看到您的构建脚本引用了Gradle 2.3 ...但我想知道这是否准确。

我认为可以归结为使用Gradle 2.x和dependency-management-plugin 0.5.x或者使用Gradle 3.x和dependency-management-plugin 0.6.x.

祝你好运。