当前位置: 首页 > 面试题库 >

将Heroku App更新到Java 8

孔征
2023-03-14
问题内容

我有一个Play 2.2与Java 8一起使用的应用程序,无法
正常工作。该代码使用OpenJDK 1.8在本地为我编译,但是当我尝试
将代码推送到Heroku时,出现以下错误,这是我 偶然
在带有lambda的OpenJDK 1.7上运行时在本地获取的错误.

java.lang.RuntimeException: Unknown constant: 18

我设置system.properties为使用Java 1.8,并且知道它正在工作,因为
它以以下文本开头:

Play 2.x - Java app detected
-----> Installing OpenJDK 1.8...done

我有什么要忘记更新到Java 8的事情吗?我尝试更新PATH以及此 处指定的内容,但没有执行任何操作。


问题答案:

Unknown constant: 18最有可能是指 类文件的常量池中具有值的标记。这不是 JDK的问题,因为Java 7也可以理解该标签。
CONSTANT_InvokeDynamic18

因此,这是运行时运行的字节码操作工具的指示器,它不能理解较新的类文件(
尽管版本号未知,但仍要尝试处理它们)。该
invokedynamic功能可与Java 7一起使用,但不能与普通的Java 7类
文件(即由产生javac)一起使用。

由于您知道自己是否使用过字节码操作,因此它必须是
框架的一部分,即,您将其命名为heroku和playframework。因此,您的问题
不是更新JDK,而是将框架更新为可识别Java-8的
版本(如果已经存在)。



 类似资料:
  • null 我遇到了一些奇怪的例外 在login.jspx页面上提交简单表单后出现 LocaleFilter照常工作。 我认为配置有问题但找不到原因。 主pom.xml: web.xml null 我准备添加任何额外的信息,以找到这种情况的原因。我希望有人能帮我找到解决这个问题的方法,因为谷歌并不知道这个问题。任何帮助都是有用的。

  • 我在RU11上运行CRM2011。我将其更新为RU14,但当我从部署管理器浏览组织时,我得到以下错误: 发生了一个错误。

  • 问题内容: 假设有一个完全填充的数据String [n] [3] myData数组。 我想做这个: 显然,我已经遗漏了很多东西,但是我想尽可能简洁地表达这个想法。 有一个简单的方法可以在单个DB命令中执行此操作吗?一个不太简单的方法怎么样? 编辑:数据不是来自另一个表(这是Web表单提交-多项选择考试)。 由于该应用是面向Web的,因此必须是防注入的。参数化查询是我首选的处理方式。 我正在使用MS

  • 我的R.java文件没有生成,我在这里搜索了答案,但没有一个答案有效。在我更新ADT之前,一切都很好,所以代码应该没问题。这是我尝试过的: null 我该怎么办?请帮帮我!

  • 虽然在处理未解决的依赖项时存在许多问题,但似乎没有更新这些依赖项的通用方法。 您需要手工为每一个检查maven central,还是有一些漂亮的工具可以自动将它们更新到最新版本?

  • 在OSX上更新Xcode最简单的方法是什么?