如何从jar库创建OSGi包?如何从jar库创建OSGi包?
回答
如果你使用eclipse:有一个向导。
它允许您选择一些jar库并创建包含这些jar的插件项目(即OSGi包)。
你可以在这里找到:
File -> New -> Other ... -> Plug-in from Existing jar Archives.
+1,因为自己的OP没有把它投票:(:(如果它是正确的,然后把它投票!) – helios 2012-02-21 11:48:53
那个向导截图就够了。谢谢! – 2016-01-13 00:08:26
原则上,你只需要OSGi的元数据添加到清单
有一个Eclipse包的创造者赋予添加这些条目应该是插件开发工具包的一部分,一个非常实用的方法。
这里是一个article详细说明该过程,以及如何使用Bnd工具,maven等等。我很喜欢the pax tools。这都是基于命令行的,但非常实用。要创建现有jar的OSGi包,您可以使用bnd tool。
pax工具和pax-wrap-jar链接已经死了 – maarten 2015-05-05 21:50:05
首先检查了,如果你能找到仓库
- SpringSource的http://www.springsource.com/repository
- 于FuseSource http://repo.fusesource.com/
如果你没有找到OSGi化的版本库的一个OSGi的启用版本。您可以继续使用pax工具 - PaxConstruct或使用aQute's Bnd tool。
Fusesource http://repo.fusesource.com/已经死了 – maarten 2015-05-05 21:49:30
@maarten谢谢,我更新了更多最新资源的链接。 – 2015-05-06 06:53:24
@PeterTillemans,你更新了哪些链接?不幸的是,我不知道什么是fusesource新的repo网址..请随时链接我的答案 – 2015-05-06 09:41:08
的Eclipse Bundle Recipe项目为添加的OSGi元数据从Maven仓库所消耗的JAR一个Maven为基础的方法。
在其核心,它使用bnd tool。这个工具就像一把瑞士军刀。它分析jar和类文件并正确计算软件包的导入和导出。你应该使用bnd来自己转换专有的jar。这是available in Maven Central。
迟到党:
如果您使用摇篮,你可以,如果你应用osgi-run插件添加的jar作为项目的正常依赖。
osgi-run插件将透明地将jar包装到你的包中,导出每个包并计算它的所有导入。因为Gradle会知道jar的传递依赖关系,所以如果需要的话,它也会为它们做同样的事情。
罐子(S)将成为OSGi运行时的OSGi运行造成的,你可以再与gradle runOsgi
或gradle createOsgi
,然后执行无论是run.sh
或run.bat
脚本启动的一部分。
实际的包装是由Bnd完成的,当然是OSGi世界的瑞士刀。
如果要配置包裹发生的方式(通常应该导入/导出的内容),可以在Gradle构建文件中轻松完成,详情请参阅documentation。
例子:
wrapInstructions {
// use regex to match file name of dependency
manifest("c3p0.*") {
// import everything except the log4j package - should not be needed
instruction 'Import-Package', '!org.apache.log4j', '*'
instruction 'Bundle-Description', 'c3p0 is an easy-to-use library for making traditional ' +
'JDBC drivers "enterprise-ready" by augmenting them with functionality defined by ' +
'the jdbc3 spec and the optional extensions to jdbc2.'
}
}
- 1. 如何从jar创建osgi包
- 2. 如何创建JPA OSGI包
- 3. 使用现有的从库中OSGi包创建的库拉
- 4. 构建jar包含库jar
- 5. OSGI包VS JAR依赖
- 6. OSGi包库
- 7. 如何在创建jar文件时包含库文件
- 8. 如何创建包含特定包的jar包?
- 9. 从C++库创建Python包
- 10. 使用Eclipse创建Android OSGI包
- 11. 如何从插件创建jar?
- 12. JAR选型创建IVY库
- 13. OSGi包存储库与普通的Maven JAR
- 14. 如何在创建R包时包含jar文件?
- 15. 如何在intelliJ中创建一个java包的jar包
- 16. 如何Web方法JAR转换为OSGi包
- 17. 为ORACLE创建启用OSGi的jar(用于Spring Roo - ORACLE数据库集成)
- 18. 如何在Netbeans中从特定软件包(不包含main)创建.jar?
- 19. 如何从OSGI包中调用方法?
- 20. 从GWT应用程序创建一个OSGi包
- 21. 如何从boost创建库?
- 22. 从非osgi类访问osgi包
- 23. 从JSNI类创建GWT jar
- 24. Maven从xsd创建jar
- 25. 如何在Maven中将WAR包和OSGi包创建结合起来?
- 26. 如何从另一个OSGi包中对OSGi包进行单元测试
- 27. 如何创建和导出jar包含自定义视图的库项目
- 28. buildr创建一个jar包含库和其他项目
- 29. 创建一个包含其他库文件的JAR文件
- 30. 创建一个包含jar和aar的Android库
[此问题](http://stackoverflow.com/questions/9819090/how-to-convert-jar-to-osgi-bundle-using-eclipse-and-bndtools)是相关的。 – 2012-08-08 08:52:38