我正在尝试将一些罐子包装成我希望其他捆绑包能够依赖的捆绑包。使用Spring dm Server,过去就像将jar文件添加到新的bundle项目,导出所有类,并确保jar文件位于构建和类路径上一样简单。
以下是我正在尝试做的一个简单的,规范的例子(以及我失败的地方):
以Joda Time为例,我想在捆绑中这样做,所以我可以将它作为依赖项共享。首先,我创建一个包来容纳jar:
更新src / META-INF / MANIFEST.MF以导出所有类:
Manifest-Version: 1.0 Bundle-Version: 1.0.0 Bundle-Name: joda-time Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.joda.time Bundle-ClassPath: lib/joda-time-1.6.1.jar, . Export-Package: org.joda.time, org.joda.time.base, org.joda.time.chrono, org.joda.time.convert, org.joda.time.field, org.joda.time.format, org.joda.time.tz
现在,我们想在我们创建的一些新捆绑包中使用它:
编辑src / META-INF / MANIFEST.MF以导入org.joda.time:
Manifest-Version: 1.0 Bundle-Version: 1.0.0 Bundle-Name: MyDepTest Bundle-ManifestVersion: 2 Bundle-SymbolicName: com.foo.deptest Import-Package: org.joda.time Import-Bundle: org.joda.time;version="[1.0.0,1.0.0]"
将org.joda.time包添加到项目引用so Eclipse can resolve the depenencies
写下课程:
package com.foo.deptest;
import org.joda.time.DateTime;
public class SimpleDepTest {
public SimpleDepTest (){
DateTime dt = new DateTime();
}
}
现在,org.joda.time.DateTime
应解决,但Eclipse在org.joda
无法解析导入org.joda
我哪里出错了?如何将jar包装为一个包,以便我可以使用其他包中的类?
答案 0 :(得分:1)
事实证明,将jar添加到类路径是不够的,我们还需要确保它是构建路径的一部分。这在构建配置对话框中完成: