Grails .war文件在不同的JDK上运行时的异常ClassNotFound,而不是

时间:2015-12-08 17:38:04

标签: java tomcat grails

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

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

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

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

有没有办法用7构建并在8上运行(和jdk 7一样)?

1 个答案:

答案 0 :(得分:0)

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

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