我有一个 Spring 应用程序,我正在使用应用程序引擎 gradle 插件来运行和部署该应用程序。我看到即使无需重新启动服务器,前端(jsp)的更改也会得到反映。但即使重新启动并删除构建文件夹后,java 类的更改也不会反映出来。可能有什么问题?这是我的 build.gradle 文件
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.cloud.tools:appengine-gradle-plugin:2.4.4'
}
}
apply plugin: 'com.google.cloud.tools.appengine-appenginewebxml'
ext.getAppVersion = { ->
return project.property('version')
}
appengine {
tools {
cloudSdkVersion = '449.0.0'
}
run {
// ./gradlew appengineStart (to run the app locally)
// ./gradlew appengineStop
jvmFlags = ["-Dappengine.fullscan.seconds=5"]
projectId= 'xxxx'
services = '../war'
port = 8080
automaticRestart = true
}
}
// ./gradlew deploy -Pversion=version_name
task deploy {
doLast {
def versionName = getAppVersion()
exec {
commandLine 'gcloud', 'app', 'deploy', '--quiet', '../war/WEB-INF/appengine-web.xml', '--version=' + versionName, '--no-promote'
}
}
}
explodeWar {
with copySpec {
from '../war/WEB-INF/appengine-web.xml'
into 'WEB-INF'
}
}
甚至尝试了here提到的调试模式,但没有运气
您可以使用 Gradle for App Engine 插件检查以下配置:
build.gradle
文件应如下所示:
buildscript { // Configuration for building
repositories {
jcenter() // Bintray's repository - a fast Maven Central mirror & more
mavenCentral()
}
dependencies {
classpath 'com.google.cloud.tools:appengine-gradle-plugin:2.5.0'
classpath 'org.akhikhl.gretty:gretty:+'
}
}
repositories { // repositories for Jar's you access in your code
jcenter()
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'org.akhikhl.gretty'
apply plugin: 'com.google.cloud.tools.appengine'
dependencies {
providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
providedCompile 'com.google.appengine:appengine:+'
// Add your dependencies here.
}
gretty {
servletContainer = 'jetty9' // What App Engine Flexible uses
}
appengine {
deploy { // deploy configuration
stopPreviousVersion = true // default - stop the current version
promote = true // default - & make this the current version
}
}
group = 'com.example.appengine' // Generated output GroupId
version = '1.0-SNAPSHOT' // Version in generated output
sourceCompatibility = 1.8
targetCompatibility = 1.8
根据您的 App Engine 环境(标准或灵活)仔细遵循这些步骤。
如果上述步骤不起作用,您可以通过他们的 Github for GAE Gradle 插件提出问题。