我正在做一个 EMF 项目,我从 mdl 文件创建了一个 ecore 模型。我创建了相应的 gencore 文件并从 gencore 文件生成了代码。虽然 EMF 有自己的基于 XMI 的序列化机制,但我想用自己的序列化机制来支持我的项目。
到目前为止,我已经完成了必要的步骤,如果我使用调试器,则会调用相应的方法。为了读取和写入我的模型的文件表示,我想使用外部库。我已经完成了以下步骤
- 在我放置外部库的插件项目中创建了一个目录 lib/
- 将库添加到项目的构建路径中
- 将目录添加到 bundle-classpath (Manifest.mf)
- 将目录添加到 build.properties 的 bin.includes
如果我尝试运行我的代码,我会得到一个 NoClassDefFoundError 异常,我不知道为什么。我创建了一个运行配置,我将项目作为 Eclipse 应用程序启动。所以有人知道我错过了什么?
提前致谢!
迈克尔
编辑:在我的 Manifest.mf 文件下方
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: de.hs_rm.cs.vs.dsm.OWL
Bundle-SymbolicName: de.hs_rm.cs.vs.dsm.owl;singleton:=true
Bundle-Version: 1.0.0
Bundle-ClassPath: lib/,
.
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: owl,
owl.impl,
owl.util,
rdfs,
rdfs.impl,
rdfs.util
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport
Bundle-ActivationPolicy: lazy
还有我的 build.properties
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties,\
lib/
jars.compile.order = lib/,\
.
source.. = src/
output.. = bin/
source.lib/ = lib/
jars.extra.classpath = lib/owlapi-bin.jar