提问人:helloi 提问时间:11/7/2023 更新时间:11/15/2023 访问量:57
App Engine gradle 插件可以使用 java 版本 17 吗?
Can app engine gradle plugin use java version 17?
问:
我正在使用 appengine 在本地运行一个 gradle 项目。我可以看到它仍然使用 java 8,即使我已经从我的机器中删除了 java 8。是否可以让它使用我本地安装的版本 17?如果您想知道,这是我的build.gradle文件
buildscript {
...
}
dependencies {
classpath 'com.google.cloud.tools:appengine-gradle-plugin:2.5.0'
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:4.4.1.3373"
}
}
repositories {
mavenCentral()
}
apply plugin: 'com.google.cloud.tools.appengine-appenginewebxml'
apply plugin: "org.sonarqube"
java {
sourceCompatibility = '17'
targetCompatibility = '17'
}
sourceSets {
main {
java.srcDirs = ['../']
}
}
dependencies {
...
}
ext.getAppVersion = { ->
return project.property('version')
}
appengine {
tools {
cloudSdkVersion = '449.0.0'
}
run {
jvmFlags = ['-Dappengine.fullscan.seconds=5']
projectId= 'beta-v2'
services = '../war'
port = 8080
automaticRestart = true
}
}
war {
duplicatesStrategy = 'exclude'
}
explodeWar {
with copySpec {
from '../war/WEB-INF/appengine-web.xml'
into 'WEB-INF'
}
}
谢谢
答:
0赞
Robert G
11/15/2023
#1
您可以根据有关 Java 运行时环境的文档在运行时环境中使用 Java 17。您应该注明版本:app.yaml
runtime
runtime: java17
您还可以查看此文档,了解如何使用 Gradle 和 App Engine 插件。
如果上述步骤不起作用,我建议通过此问题跟踪器或此 Github 问题链接提交问题,以便 Google Cloud 工程师可以查看此问题并为您提供进一步的帮助。
评论
0赞
helloi
11/16/2023
我的项目是一个基于appengine-web.xml的项目。我在那里将其更新为 java17。如何验证它是否使用 java17?
0赞
Robert G
11/16/2023
请查看此 Github 链接,其中 Java8 应用程序和 Java17 应用程序之间的唯一区别在于您需要定义 Java17 运行时并声明您需要 App Engine API 的文件。appengine-web.xml
0赞
helloi
11/16/2023
是的。我只想知道我的本地应用引擎服务器是否也在使用 java17。因为没有 <app-engine-apis>true</app-engine-apis> 在部署后导致问题,但在本地 appengine 服务器中工作正常。可能是什么原因?
评论