java - 如何使用 com.sun 的包

标签 java osgi

我正在开发一个需要包com.sun.rowset.CachedRowSetImpl的商业软件 我尝试了很多次导入包,但很多次都不成功,因为我使用OSGI,这使得包的导入非常困难。

我在这里找到了原始源代码:

http://www.docjar.com/html/api/com/sun/rowset/CachedRowSetImpl.java.html

一种快速方法是复制代码并使用它。但如果我这样做,我可能会违反许可证,因为我的应用程序源代码已关闭。您能给我一些如何解决这个问题的建议吗?

最佳答案

当您启动 OSGi 框架时。它作为框架 bundle 的一部分向环境提供所有基础系统包。

对此有一个限制。默认情况下,它不提供任何 Java 附带的 com.sun.* 类,因为它们不被视为“java 库”的一部分

要将这些类放入 OSGi 环境中,您只需要使用一个片段包来扩展框架包并公开所需的类。

我强烈建议阅读 Felix Meschberger 撰写的这篇博客文章,他演示了此过程的示例

http://blog.meschberger.ch/2008/10/osgi-bundles-require-classes-from.html

关于java - 如何使用 com.sun 的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090289/

相关文章:

java - 有没有办法解析jooq中的自定义函数?

java - 如何激活 dbcp BasicDataSource 1.4 API 的空闲对象逐出器

java - NoClassDefFoundError 尽管有 OSGi 包

java - Camel 2.10 更改 blueprint.xml 位置

osgi - 如何使用OSGI实现零宕机?

java - Kafka Consumer不消费java中的所有记录

java - 转发 header 在 Spring Boot + Kubernetes 中不起作用

java - 使用selenium webdriver执行maven项目时获取 "Null pointer exception"

intellij-idea - 如何启动一个简单的Gradle + JavaFX + OSGi应用程序

java - Apache Felix 缺少 javax.sql.Datasource