我正在尝试运行我的springboot应用程序......当我将eureka spring-cloud插件添加到我的gradle.build文件时,这一切都开始了:
编译'org.springframework.cloud:spring-cloud-starter-eureka'
当我运行“gradle bootRun”时,我收到此错误:
引起:java.io.IOException:无法运行程序“C:\ Program Files \ Java \ jdk1.8.0_91 \ bin \ java.exe”。 CreateProcess error = 206,文件名太长。
我的build.gradle是:
import java.text.SimpleDateFormat
buildscript {
ext {
springBootVersion = '1.3.2.RELEASE'
elasticSearchVersion = '2.2.0'
groovyVersion = '2.4.5'
}
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath 'io.spring.gradle:dependency-management-plugin:0.5.5.RELEASE'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0'
classpath 'org.kordamp.gradle:stats-gradle-plugin:0.1.5'
}
}
apply plugin: 'java'
apply plugin: 'groovy'
apply plugin: 'eclipse-wtp'
apply plugin: 'idea'
apply plugin: 'spring-boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'org.kordamp.gradle.stats'
def buildDate = new SimpleDateFormat('yyyyMMdd-hhmmss').format(new Date())
version = '1.0.RC1.' + buildDate
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
jcenter()
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
ext['elasticsearch.version'] = elasticSearchVersion
ext['groovy.version'] = groovyVersion
ext['guava.version'] = '18.0'
ext['lombok.version'] = '1.16.6'
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-starter-parent:${springBootVersion}"
mavenBom "org.springframework.cloud:spring-cloud-starter-parent:Brixton.M5"
mavenBom 'io.spring.platform:platform-bom:2.0.2.RELEASE'
}
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-aop')
compile('org.springframework.boot:spring-boot-starter-cache')
compile('org.springframework.cloud:spring-cloud-starter-hystrix')
compile 'org.jadira.usertype:usertype.extended:5.0.0.GA'
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-data-rest')
//compile('org.springframework.data:spring-data-rest-hal-browser')
compile('org.springframework.boot:spring-boot-devtools')
compile('org.springframework.boot:spring-boot-starter-hateoas')
compile('org.projectlombok:lombok')
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
compile('org.springframework.boot:spring-boot-starter-web')
compile "org.elasticsearch:elasticsearch:${elasticSearchVersion}"
compile 'commons-lang:commons-lang'
compile 'commons-codec:commons-codec'
compile 'commons-collections:commons-collections'
compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
compile 'org.springframework.boot:spring-boot-starter-freemarker'
compile 'de.codecentric:spring-boot-admin-starter-client:1.3.2'
compile 'org.flywaydb:flyway-core'
compile('com.domingosuarez:oneltico:0.1.2')
compile("org.springframework:spring-jms")
compile("org.apache.activemq:activemq-broker")
compile 'org.apache.activemq:activemq-pool'
compile 'org.springframework.cloud:spring-cloud-starter-eureka'
compile 'com.mashape.unirest:unirest-java:1.4.9'
runtime "org.postgresql:postgresql:9.4-1203-jdbc42"
testCompile('org.springframework.boot:spring-boot-starter-test')
}
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.8'
}
}
springBoot {
executable = true
}
我取出插件并正确执行。
我知道它应该是Windows问题的长途径,但我该如何提供解决方案呢?
答案 0 :(得分:2)
tim_yates是对的,谢谢!
我从链接中获取代码并将其粘贴到build.gradle文件的末尾,它像宝石一样工作!
我添加的代码是:
task pathingJar(type: Jar) {
dependsOn configurations.runtime
appendix = 'pathing'
doFirst {
manifest {
attributes "Class-Path": configurations.runtime.files.collect {
it.toURL().toString().replaceFirst('/file:/+/', '/')
}.join(' ')
}
}
}
bootRun {
dependsOn pathingJar
doFirst {
classpath = files("$buildDir/classes/main", "$buildDir/resources/main", pathingJar.archivePath)
}
}
注意:我在链接代码中添加了一些简单的引号(')以使其工作..