【发布时间】:2016-03-13 18:11:34
【问题描述】:
当我执行“grails war”时,grails 会为我构建一个战争文件。我将它部署到 tomcat 的 webapps 文件夹中,它运行良好 - 如果我构建战争并使用相同的 JDK 运行 tomcat。
如果我在 JDK7 上构建运行 grails 的 war 文件并将它们部署到 JDK8 上的 tomcat 中,我会遇到问题 - 在 API 请求期间,我收到错误:java.lang.NoClassDefFoundError: java/util/HashMap$Entry
似乎JDK7中的这个类被编译到war中(或对它的引用),在JDK8上运行时找不到它。
有没有办法让 grails 将定义拉入类中,以便使用 7 构建的战争可以在 8 上运行 - 就像你可以使用 bootclasspath 和 extdirs 使用 javac 一样,也许。
有没有办法用 7 构建并在 8 上运行(以及 jdk 7)?
【问题讨论】:
-
在这里更具体会很有帮助。调用如何“失败”?
-
嗨詹姆斯,我添加了一些关于失败的细节:它正在寻找一个来自 JDK7 的类,战争是用它编译的,并且在 8 时会破坏它。