【问题标题】:Getting bundle exception while deploying app to Apache Karaf将应用程序部署到 Apache Karaf 时出现捆绑异常
【发布时间】:2018-06-07 17:44:06
【问题描述】:

我正在开发简单的应用程序来演示 Apache Karaf 的使用。我在 eclipse 中开发了一个简单的基于 maven 的动态 Web 项目。现在我想在 apache karaf 中部署它。下面是代码-

import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;


    public class DemoActivator implements BundleActivator {

        @Override
        public void start(BundleContext bundleContext) throws Exception {
            System.out.println("STARTING DEMO: hello, world");
        }

        @Override
        public void stop(BundleContext bundleContext) throws Exception {
            System.out.println("STOPPING DEMO");
        }

    }

POM.Xml 中的依赖项

<dependency>
    <groupId>org.osgi</groupId>
    <artifactId>osgi_R4_core</artifactId>
    <version>1.0</version>
    <scope>provided</scope>
    <optional>true</optional>
</dependency>
<dependency>
    <groupId>org.osgi</groupId>
    <artifactId>osgi_R4_compendium</artifactId>
    <version>1.0</version>
    <scope>provided</scope>
    <optional>true</optional>
</dependency>

清单.MF

 Bundle-SymbolicName: osgi-example
 Bundle-Version: 1.0.0.SNAPSHOT
 Import-Package:com.psl.demo;version="1.0.0.SNAPSHOT",org.osgi.framework
 Export-Package: com.psl.demo;version="1.0.0.SNAPSHOT"
 Bundle-Activator: com.psl.demo.DemoActivator

自定义 MANIFEST 文件的给定路径

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

现在每当我尝试使用 karaf 安装应用程序时-

install mvn:com.psl/osgi-demo-next/1.0.0-SNAPSHOT

我遇到了错误-

执行命令时出错:安装包时出错:无法安装 捆绑 mvn:com.psl.demo/osgi-example/1.0.0.SNAPSHOT: org.osgi.framework.BundleException:无法缓存捆绑包: mvn:com.psl.demo/osgi-example/1.0.0.SNAPSHOT

有什么解决办法吗? TIA

【问题讨论】:

  • 似乎不在 maven 存储库中。您是否进行了 mavn 全新安装?
  • @AchimNierbeck -是的,我做到了。
  • 你能给我们看完整的 pom 文件吗?

标签: apache-karaf karaf


【解决方案1】:

出现此错误是因为 bundle install 命令中的 maven 坐标不正确。以下是相同的语法:

karaf@root()&gt; bundle:install mvn:&lt;group-id&gt;/&lt;artifact-id&gt;/&lt;version&gt;

请验证pom.xml 的内容,并相应地将值放入上述命令中。

从简单的角度来看,您可以检查本地 maven 存储库以查找捆绑包位置,并相应地将值放在 bundle install command 上方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 2013-10-04
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多