Gradle 应用程序引擎插件未反映对 .java 文件所做的更改

问题描述 投票:0回答:1

我有一个 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提到的调试模式,但没有运气

java gradle google-app-engine localhost
1个回答
0
投票

您可以使用 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 插件提出问题。

© www.soinside.com 2019 - 2024. All rights reserved.