我将GAE / GWT项目迁移到Java 8并在部署时遇到以下错误: XML错误验证
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<runtime>java8</runtime>
<application>XXXAppNameXXXX</application>
<version>2</version>
<!-- Allows App Engine to send multiple requests to one instance in parallel: -->
<threadsafe>true</threadsafe>
<!-- Configure serving/caching of GWT files -->
<static-files>
<include path="**" />
<!-- The following line requires App Engine 1.3.2 SDK -->
<include path="**.nocache.*" expiration="0s" />
<include path="**.cache.*" expiration="365d" />
<exclude path="**.gwt.rpc" />
</static-files>
<!-- Configure java.util.logging -->
<system-properties>
<property name="java.util.logging.config.file" value="WEB INF/logging.properties" />
</system-properties>
</appengine-web-app>
反对
/XXXX/XXXX/.p2/pool/plugins/com.google.appengine.eclipse.sdkbundle_1.9.34/appengine-java-sdk-1.9.34/docs/appengine-web.xsd
当我删除 java8 属性但没有sans属性时会发生此错误,它会使用 Java 7 进行部署,这会导致其他问题......
只有在包含 java8 属性时才会出现错误。 appengine-web.xsd 文件没有运行时属性 schema / def 。
缺少的属性是错误的根本原因吗? 我应该使用不同的捆绑吗? 我该如何解决这个问题?
答案 0 :(得分:2)
首先,我建议您从Eclipse的Google Plugin捆绑包迁移到Cloud Tools for Eclipse,因为如the documentation中所述,Plugin捆绑包已于2018年1月弃用:
不推荐使用Google Plugin for Eclipse,我们会将其删除 2018年1月。迁移到Eclipse的Cloud Tools 和/或GWT Eclipse插件尽快避免中断。
在this other page中,您可以找到有关如何执行App Engine Standard和GWT迁移的简单分步指南。
另一方面,我想知道您为什么使用 *。xsd 文件来定义 appengine-web.xml 。
最后,您还可以查看migrating existing Java7 apps to Java8的官方文档,并确认您的应用程序中没有其他组件需要更改。
简而言之,您应该尝试迁移到Cloud Tools,然后提供有关错误的更多信息(请分享完整的错误报告),如果它不断出现的话。