gpt4 book ai didi

java - 当 grails .war 文件运行在与构建时不同的 JDK 上时出现 ClassNotFound 异常

转载 作者:行者123 更新时间:2023-11-28 22:28:04 26 4
gpt4 key购买 nike

当我执行“grails war”时,grails 会为我构建一个 war 文件。我将它部署到 tomcat 的 webapps 文件夹中,它运行良好 - 如果我构建 war 并使用相同的 JDK 运行 tomcat。

如果我在 JDK7 上构建运行 grails 的 war 文件并将它们部署到 JDK8 上的 tomcat 中,我会遇到问题 - 在 API 请求期间,我收到错误:java.lang.NoClassDefFoundError: java/util/HashMap$Entry

似乎 JDK7 中的这个类正在被编译到 war(或对它的引用)中,但在 JDK8 上运行时找不到。

有没有办法让 grails 将定义引入类,这样用 7 构建的 war 可以在 8 上运行 - 就像你可以使用 javac 使用 bootclasspath 和 extdirs 做的那样,也许。

有没有办法用 7 构建并在 8(以及 jdk 7)上运行?

最佳答案

始终可以将旧版本文件运行到最新版本,例如您可以在 JDK-8 中运行 JDK-7 文件,但 JDK-8 文件不会在 JDK-7 中运行

为避免此问题,请在旧版本中编译所有 JDK 文件,例如使用 JDK-7 编译所有 JDK-8 文件或使用一个 JDK 环境

关于java - 当 grails .war 文件运行在与构建时不同的 JDK 上时出现 ClassNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34162409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com