加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java 8上的Google App Engine – 开发时无法使用java.time.服务

发布时间:2020-12-15 02:20:00 所属栏目:Java 来源:网络整理
导读:我已将我的Google App Engine应用程序移植到最近的 Java 8运行时环境中.该应用程序工作正常,有一些问题. 我已将我的代码移植到使用java.time而不是Joda时间,但是应用程序引擎服务器在响应请求时抛出错误: java.lang.NoClassDefFoundError: java.time.ZonedD
我已将我的Google App Engine应用程序移植到最近的 Java 8运行时环境中.该应用程序工作正常,有一些问题.

我已将我的代码移植到使用java.time而不是Joda时间,但是应用程序引擎服务器在响应请求时抛出错误:

java.lang.NoClassDefFoundError: java.time.ZonedDateTime is a restricted class. Please see the Google App Engine developer’s guide for more details.

at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:50)

这只发生在开发服务器上,生产服务器似乎运行正常.

documentation says:

  • Doesn’t impose a security manager as the Java 7 runtime does,which means your code won’t be restricted by Java permissions issues.
  • Supports the standard public Java library,not just the whitelisted class subset available for the Java 7 runtime.

在搜索此错误时,我发现有关禁止文件访问的提及,我理解,但我不知道这是如何适用于java.time包的.此外,我发现的提及(如此SO question)似乎与Java 7运行时环境有关.

这不是很紧迫,我可以留在Joda时间,但这对我来说是一个惊喜.

这是预期的,还是一个错误,或者我做错了什么?

解决方法

我可以确认我在开发环境和生产服务器中都使用Java8功能,包括java.time.

它可能是用于运行您的开发服务器的Java 7 SDK.检查构建环境设置.

确保您的WEB-INF / lib中有最新的应用程序引擎API jar.

您还需要将java8添加到appengine-web.xml

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读