当前位置: 首页 > 知识库问答 >
问题:

升级到karaf 4时出现错误sun.misc。来自karaf 3的x。X

伊铭
2023-03-14

我们遇到了阻止我们的问题。我们在Apache karaf 3.0.3、地窖3.0.3中的项目运行良好。现在我们升级到Apache karaf 4.2.0和Apache地窖4.1.0。我看到了这个错误

[activator-1-thread-2]ERROR org . Apache . karaf . features . internal . service . bootfeaturesinstaller-安装引导功能时出错org . OSGi . service . resolver . resolution异常:无法解析根:缺少要求[root]OSGi . identity;osgi.identity = OUR _ FEATUREtype = karaf.feature版本="[18.12.4,18 . 12 . 4]";过滤器:= "(

正如我们所看到的,错误来自com.hazelcast,版本3.8.1

事实上,在过去,我们使用karaf地窖和karaf 3.0.3,他们使用com.hazelcast/hazelcast/version3.4.2(https://mvnrepository.com/artifact/com.hazelcast/hazelcast/3.4.2)

现在有了karaf 4.2.0和cellar 4.1.0,他们使用com.hazelcast/hazelcast-all/3.8.1 https://mvn repository . com/artifact/com . hazel cast/hazel cast-all/3 . 8 . 1,这个版本导致了这个错误

这是我们的功能内容.xml文件

<repository>mvn:org.apache.karaf.cellar/apache-karaf-cellar/4.1.0/xml/features</repository>
<feature name="OUR_FEATURE" version="18.12.4" description="Our description">
    <feature>cellar</feature>
    <feature version="${project.version}">other_features</feature>
</feature>

我们尝试在安装后的目标目录中搜索(mvn干净安装)并在目标文件夹中找到这些功能

<feature name="OUR_FEATURE" version="18.12.4" description="Our description">
    <feature>cellar</feature>
    <feature version="18.12.4">other_features</feature>
</feature>

<feature name="cellar" description="Karaf clustering" version="4.1.0">
    <feature dependency="true">cellar-hazelcast</feature>
    <feature>cellar-shell</feature>
    <feature>cellar-config</feature>
    <feature>cellar-bundle</feature>
    <feature>cellar-features</feature>
    <feature>cellar-kar</feature>
    <requirement>
        karaf.cellar.provider
    </requirement>
</feature>

<feature name="cellar" description="Karaf clustering" version="4.1.0">
    <feature dependency="true">cellar-hazelcast</feature>
    <feature>cellar-shell</feature>
    <feature>cellar-config</feature>
    <feature>cellar-bundle</feature>
    <feature>cellar-features</feature>
    <feature>cellar-kar</feature>
    <requirement>
        karaf.cellar.provider
    </requirement>
</feature>

<feature name="cellar-hazelcast" description="Cellar implementation based on Hazelcast" version="4.1.0">
    <feature version="3.8.1">hazelcast</feature>
    <feature version="4.1.0">cellar-core</feature>
    <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.hazelcast/4.1.0</bundle>
    <bundle>mvn:org.apache.karaf.cellar/org.apache.karaf.cellar.utils/4.1.0</bundle>
    <capability>
        karaf.cellar.provider;provider:=hazelcast
    </capability>
</feature>

<feature name="hazelcast" description="In memory data grid" version="3.8.1">
    <configfile finalname="/etc/hazelcast.xml">mvn:org.apache.karaf.cellar/apache-karaf-cellar/4.1.0/xml/hazelcast</configfile>
    <bundle>mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle>
    <bundle>mvn:com.eclipsesource.minimal-json/minimal-json/0.9.2</bundle>
    <bundle>mvn:com.hazelcast/hazelcast-all/3.8.1</bundle>
</feature>

在我们的 src/main/distribution/etc/config.properties 中,我们已经遵循了 config:org.osgi.framework.system.packages.extra=sun.misc

org.osgi.framework.bootdelegation=org.apache.karaf.jaas.boot,org.apache.karaf.jaas.boot.principal,org.apache.karaf.management.boot,sun.,com.sun.,javax.transaction,javax.transaction.,javax.xml.crypto,javax.xml.crypto.

org.osgi.framework.executionenvironment=J2SE-1.8, JavaSE-1.8, J2SE-1.7, JavaSE-1.7, J2SE-1.6, JavaSE-1.6, J2SE-1.5, JavaSE-1.5, J2SE-1.4, JavaSE-1.4, J2SE-1.3, JavaSE-1.3, J2SE-1.2, CDC-1.1/Foundation-1.1, CDC-1.0/Foundation-1.0, J2ME, OSGi/最小值-1.1, OSGi/最小值-1.0

在我们的src/main/distribution/etc/custom . properties中,我们有以下配置:

karaf.systemBundlesStartLevel=50org.osgi.framework.system.packages.extra=org.apache.karaf.branding

请帮助我们解决这个问题。

谢谢

共有2个答案

后树
2023-03-14

下面是我的config.properties的摘录

org.osgi.framework.system.packages= \
 org.osgi.framework.startlevel;uses:="org.osgi.framework";version="1.0", \
 org.osgi.framework.wiring;uses:="org.osgi.framework";version="1.1", \
 org.osgi.framework.hooks.bundle;uses:="org.osgi.framework";version="1.1", \
 org.osgi.framework.hooks.service;uses:="org.osgi.framework";version="1.1", \
 org.osgi.framework.hooks.resolver;uses:="org.osgi.framework.wiring";version="1.0", \
 org.osgi.framework.launch;uses:="org.osgi.framework";version="1.1", \
 org.osgi.framework.namespace;uses:="org.osgi.resource";version="1.0", \
 org.osgi.framework;version="1.7", \
 org.osgi.framework.hooks.weaving;uses:="org.osgi.framework.wiring";version="1.0",\
 org.osgi.resource;version="1.0",org.osgi.service.url;version="1.0",\
 org.osgi.service.startlevel;uses:="org.osgi.framework";version="1.1",\
 org.osgi.service.packageadmin;uses:="org.osgi.framework";version="1.2",\
 org.osgi.service.url;version="1.0", \
 org.osgi.util.tracker;uses:="org.osgi.framework";version="1.5.1", \
 org.apache.karaf.jaas.boot;version="4.2.0", \
 org.apache.karaf.jaas.boot.principal;version="4.2.0", \
 org.apache.karaf.management.boot;version="4.2.0", \
 org.apache.karaf.version;version="4.2.0", \
 ${jre-${java.specification.version}}



org.osgi.framework.system.packages.extra=sun.misc
秦景福
2023-03-14

当捆绑包加载类但不为它们定义导入包语句时,将使用引导委托。

在你的案例中,hazelcast有一份进口包裹声明。因此,要实现这一点,您必须从系统包中导出这个包。

要执行此操作,请编辑config.properties并将sun.misc添加org.osgi.framework.system.packages.extra

 类似资料:
  • 我使用flutter upgrade--force从v1.91.hotfix 6升级flutter。 然后我构建了一个示例“层” - 颤振运行,它显示了此消息,而如果我切换到1.91,一切都构建正常 找不到名为“堆栈跟踪”的选项。 颤振博士-v G:\新\new_exam [√] Android toolchain -为Android设备开发(Android SDK版本29 . 0 . 2)And

  • 问题内容: 我有一个用于签署XML文档的Java应用程序。将Java升级到最新版本(Java7u25)后,它将停止工作。我收到以下错误: 恢复为java7u21解决了该问题。XML Dig Sig API中是否有任何导致此错误的更改? 问题答案: 这里同样的问题。由于不断发展,似乎是JVM内部的错误。 我已经将其归结为 在Java 7u21及之前的版本中: 在Java 7u25中: 指的是XML

  • 问题内容: 我今天从Java 1.6升级到Java 1.7。从那时起,当我尝试通过SSL建立到我的Web服务器的连接时发生错误: 这是代码: 这只是一个测试项目,这就是为什么我允许和使用不受信任的证书以及代码的原因: 问题答案: Java 7引入了默认情况下启用的SNI支持。我发现某些配置错误的服务器会在SSL握手中发送“无法识别的名称”警告,大多数客户端会忽略此警告… Java除外。如@Bob

  • 我已经在虚拟环境中安装了审查板,并在ubuntu 13.10上使用apache2和mod_wsgi创建了站点审查板 我被要求更新网站 审查板运行的版本与站点上次升级到的版本不匹配。您正在运行1.7.20,站点上次升级为1.7.21。 请升级您的网站以通过运行解决此问题: 升级后 得到了 我收到以下消息: 正在更新数据库。这可能需要一段时间。 除非升级失败,否则可以忽略以下日志输出,包括警告和错误。

  • 我们已经升级到最新版本,升级到。尽管我们获得了maven构建的成功,但我们还是被击败了。 在第一次启动时,我们得到了循环引用错误,我们在 然而现在我们得到了。下面是

  • 在部署应用程序时,我会遇到以下异常。 该组件为: 而该组件的自动连接是: FunnelStateHolderMapper接口 在包含此代码所在包的配置中有一个组件扫描。 这在Spring3中工作得很好,但是自从切换到Spring5之后,这个问题就出现了。我想可能是我为了编译它而进行的一些重构导致了这个问题,但我不这么认为。以上代码所在的文件均未更新。 到目前为止,我还没有更新任何spring配置。