我想重写这个https://github.com/GoogleCloudPlatform/getting-started-java/tree/master/appengine-standard-java8/springboot-appengine-standard 简单的春季启动应用程序使用gradle而不是maven。
我主要成功了 gradle bootRun , appengineDeploy 工作正常,但 appengineRun 失败:
java.lang.IllegalArgumentException: Unable to find the main class to restart
at org.springframework.util.Assert.notNull(Assert.java:134)
at org.springframework.boot.devtools.restart.Restarter.doStart(Restarter.java:285)
at org.springframework.boot.devtools.restart.Restarter.start(Restarter.java:273)
at org.springframework.boot.devtools.restart.Restarter$1.call(Restarter.java:174)
at org.springframework.boot.devtools.restart.Restarter$1.call(Restarter.java:170)
at org.springframework.boot.devtools.restart.Restarter$LeakSafeThread.run(Restarter.java:627)
error.
我的gradle.build:
buildscript {
repositories {
jcenter() // Bintray's repository - a fast Maven Central mirror & more
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:+")
classpath 'com.google.cloud.tools:appengine-gradle-plugin:+'
}
}
repositories {
maven {
url 'https://maven-central.storage.googleapis.com' // Google's mirror of Maven Central
}
jcenter()
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'com.google.cloud.tools.appengine'
apply plugin: 'org.springframework.boot'
enter code here
bootRepackage {
enabled = false
}
configurations {
compile.exclude module: "spring-boot-starter-tomcat"
compile.exclude module: "spring-boot-starter-jetty"
}
dependencies {
providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
compile 'com.google.appengine:appengine:+'
// Use JUnit test framework
testImplementation 'junit:junit:4.12'
compile("org.springframework.boot:spring-boot-devtools")
compile("org.springframework.boot:spring-boot-starter-web")
}
appengine { // App Engine tasks configuration
run { // local (dev_appserver) configuration (standard environments only)
port = 8080 // default
}
deploy { // deploy configuration
stopPreviousVersion = true // default - stop the current version
promote = true // default - & make this the current version
}
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
工作pom.xml是我上面链接的git repo(stackoverflow不允许我使用2个链接:-))
我认为解决方案很容易我只是没有经验,也没有gradle或appengine。任何帮助将不胜感激。
答案 0 :(得分:1)
compile("org.springframework.boot:spring-boot-devtools")
依赖项解决了这个问题。如果有人可以解释原因,那就好了。