Java 在Karaf中激活ApacheFelixHTTP包

Java 在Karaf中激活ApacheFelixHTTP包,java,jetty,apache-karaf,apache-felix,Java,Jetty,Apache Karaf,Apache Felix,我们正在未连接到internet的内部网络上运行apache-karaf-4.2.0。我们试图让一个HTTP服务器在Karaf中运行,我们决定使用org.apache.felix.HTTP.bundle-3.0.0.jar,因为它在一个jar中包含我们需要的所有内容(而不是在Karaf中带回HTTP功能中列出的所有内容) 以下是我重现问题的步骤: 下载一份apache-karaf-4.2.0.tar.gz的副本并卸载它 下载org.apache.felix.http.bundle-3.0.0.j

我们正在未连接到internet的内部网络上运行apache-karaf-4.2.0。我们试图让一个HTTP服务器在Karaf中运行,我们决定使用
org.apache.felix.HTTP.bundle-3.0.0.jar
,因为它在一个jar中包含我们需要的所有内容(而不是在Karaf中带回
HTTP
功能中列出的所有内容)

以下是我重现问题的步骤:

  • 下载一份apache-karaf-4.2.0.tar.gz的副本并卸载它
  • 下载
    org.apache.felix.http.bundle-3.0.0.jar的副本
  • 将cd放入apache-karaf-4.2.0
  • mkdir-psystem/org/apache/felix/org.apache.felix.http.bundle/3.0.0/
  • org.apache.felix.http.bundle-3.0.0.jar
    复制到刚刚创建的目录中 创造
  • 打开
    system/org/apache/karaf/features/standard/4.2.0/standard-4.2.0-features.xml
  • 在底部,在
    之前添加以下内容 行(请参见下文,因为我无法将其嵌入此列表):
  • 打开
    etc/custom.properties
  • 在底部添加以下行:
    org.apache.felix.jettyEnabled=
    正确
  • 执行
    /bin/karaf
  • 在karaf提示符下键入:
    功能:安装felix http
  • 下面是
    standard-4.2.0-features.XML
    文件中XML的外观:

    <feature name="felix-http" description="Apache Felix HTTP Bundle" version="4.2.0">
        <bundle>mvn:org.apache.felix/org.apache.felix.http.bundle/3.0.0</bundle>
        <config name="org.apache.felix.http">
            org.osgi.service.http.port=8888
        </config>
    </feature>
    
    
    mvn:org.apache.felix/org.apache.felix.http.bundle/3.0.0
    org.osgi.service.http.port=8888
    
    如果我理解
    不兼容ClassChangeError
    这意味着某个东西是用其他东西的旧版本编译的。我假设其他东西是
    jetty
    ,但没有其他东西提供它。所以我很困惑


    如果有人对如何继续调试和/或修复此问题有任何想法,我将不胜感激。

    您确定没有其他jetty实例正在运行吗?我不确定,但我非常确定:)正如我在原始帖子中所说,我只安装了列出的功能,我已经查看了它们,但它们似乎都没有提供任何与Jetty相关的功能。