我正在使用EMF开发一个非插件AppEngine Maven项目,该项目具有org.eclipse.core.runtime AND org.eclipse.ocl.ecore依赖项。该项目在本地服务器上完美运行(我使用的是JDK 7)。但是,当部署到 GAE 时,我收到以下两个错误,有时一个,有时另一个:
- java.lang.NoClassDefFoundError: 无法初始化 class org.eclipse.core.runtime.platform
- java.lang.NoClassDefFoundError: 无法初始化 class org.eclipse.ocl.ecore.internal.OCLStandardLibraryImpl
这两个类确实存在于目标文件夹的 lib 目录中的 JAR 中(也解压缩并检查了 JAR)。以下是依赖项在 POM 中的外观:
<dependency>
<groupId>org.eclipse.core</groupId>
<artifactId>org.eclipse.core.runtime</artifactId>
<version>${version.core.runtime}</version>
</dependency>
<dependency>
<groupId>org.eclipse.ocl</groupId>
<artifactId>org.eclipse.ocl.ecore</artifactId>
<version>${version.oclecore}</version>
</dependency>
问题出在哪里?我错过了一些明显的东西吗?任何帮助将不胜感激!
这两个类确实都存在于目标文件夹库的 JAR 中 目录(也解压缩并检查了 JAR)
我看不到您的应用程序结构,但是无论这些 JAR 在哪里,如果您的应用程序需要它们在 GAE 中与在本地计算机上相同;那么您应该确保您使用的版本与目标版本的 GAE 相同。我曾经遇到过这个问题,因为我开始使用 GAE 时它是新的,并且客户端库过去变化非常快。