将非osgi JAR添加到RCP4项目
我正在构建一个RCP4应用程序 我有两个非osgi jar,分别称为a.jar和b.jar。两个jar都有大量的非osgi依赖项。a.jar的一个依赖项是b.jar。因此,层次结构如下所示:将非osgi JAR添加到RCP4项目,osgi,rcp,Osgi,Rcp,我正在构建一个RCP4应用程序 我有两个非osgi jar,分别称为a.jar和b.jar。两个jar都有大量的非osgi依赖项。a.jar的一个依赖项是b.jar。因此,层次结构如下所示: My application |--a.jar |----aDependency1.jar |----aDependency2.jar |----aDependencyN.jar |----b.jar |------bDependency1.jar |------bDependency2.jar |----
My application
|--a.jar
|----aDependency1.jar
|----aDependency2.jar
|----aDependencyN.jar
|----b.jar
|------bDependency1.jar
|------bDependency2.jar
|------bDependencyN.jar
一些bdependency.jar是Adependency.jar的不同版本
(例如commons-logging-1.0.4.jar与commons-logging-1.1.2.jar)
我需要从我的RCP4应用程序中直接引用a.jar和b.jar。换句话说,当我编写代码时,我将从a.jar和b.jar导入包)
哪种方法是最好的:
- 通过命令行使用BND2.4将所有非osgi jar转换为osgi jar。然后,我通过目标文件将每个jar添加到我的项目中
- 创建一个新项目“Plug-in from existing JAR archives”,选择一个.JAR及其所有依赖项,并将其导出为一个名为a.with.libs.JAR的“可部署插件和片段”。我对b.jar执行相同的操作,并创建b.with.libs.jar。然后,我通过目标文件将这两个新JAR添加到我的项目中
- 创建一个新项目“Plug-in from existing JAR archives”,选择a.JAR及其所有依赖项,选择b.JAR及其所有依赖项,并将其导出为名为ab.with.libs.JAR的“可部署插件和片段”。然后,我通过目标文件将新jar添加到我的项目中
- 有没有比上述建议更好的方法
gradlew捆绑
。然后,可以将创建的捆绑包添加到目标平台。您还可以使用bnd平台构建p2存储库/更新站点。您好,感谢您的回复。我当前的项目没有使用Maven,我以前从未使用过Gradle。bnd平台网站上的文档对我来说似乎有点高级,我不知道从哪里开始设置一个正确的gradle文件来反映上面的示例(所有本地JAR)。如果是所有本地JAR(而不是Maven依赖项),bnd平台将失去一点好处,因为它无法自动添加可传递的依赖项。作为起点,您可以使用我上面提到的模板,从文档中,您只需要本地依赖项部分来添加JAR: