当我在控制台中构建项目时,我没有项目范围服务中可用的类型样式文本输出工厂的服务。我还有一个文件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'
}
答案 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.
祝你好运。