java - Java 8 和 Felix bundle 中 Unresolved 约束

标签 java tomcat java-8 tomcat6 apache-felix

我有一个在 Tomcat 6 下运行的应用程序。该应用程序包含/使用共享库,比如 Shared.jar。在某些时候,它会复制具有唯一名称的 Shared.jar,将其作为 OSGi 包加载到 Felix 实例中,然后启动它。在 Shared.jar MANIFEST.MF 中有

导入包:org.osgi.framework,javax.swing,javax.net,javax.net.ssl

使用 Java < 8 一切都很好,但是使用 Java 8 应用程序本身可以正常启动,但是启动 bundle 失败并出现异常

捆绑 [21431] 中 Unresolved 约束:无法解决 21431.0:缺少要求 [21431.0] osgi.wiring.package; (osgi.wiring.package=javax.net)

怎么了?

最佳答案

您至少需要 Karaf 2.4 才能支持 Java 8。

可能您还需要在 pom.xml 中添加导入包声明

<Import-Package>javax.net.*</Import-Package>

..但这看起来不像是主要问题,因为它适用于旧版本的 JRE。

关于java - Java 8 和 Felix bundle 中 Unresolved 约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256872/

相关文章:

java - JAVA 中的格式化文本字段和日期时间

java - Map<String, Map<String, Car>> 到 List<Car> 使用 Java 8

java - Apache Nifi 的升级路径

asynchronous - 如何为通过 Spring DelegatingFilterProxy 链调用的过滤器设置异步支持标志?

java - Spring Boot 应用程序已启动,但 POST 请求始终返回 "not found"

java - 如何从 cookie 中删除 JSESSIONID?

java - Java 脚本引擎中的字符串表达式插值支持

java - Tomcat 上的 Web 服务超时

Windows 上的 Tomcat6 : Looking for command to start service

javascript - 加载 css 和 js