gpt4 book ai didi

java - 无法在 Apache ServiceMix 中启动 OSGI bundle

转载 作者:行者123 更新时间:2023-12-02 12:02:58 27 4
gpt4 key购买 nike

我想创建OSGI bundle 。我创建了一个简单的类:

public class Activator implements BundleActivator {
public void start(BundleContext bundleContext) throws Exception {
System.out.println("::::START MAIL BUNDLE::::");
}

public void stop(BundleContext bundleContext) throws Exception {
System.out.println("::::STOP MAIL BUNDLE::::");
}
}

我的pom.xml:

<dependencies>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>6.0.0</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>osgi-bundle</id>
<goals>
<goal>bundle</goal>
</goals>
<phase>package</phase>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Import-Package>
*;resolution:=optional
</Import-Package>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

我使用服务混合。我在目标文件夹中添加 org.osgi.core-6.0.0.jar 和我的 jar 。我的 bundle 处于 Activity 状态,但在 karaf 控制台中启动/停止 bundle 时我没有看到消息。我做错了什么?

最佳答案

您必须设置<Bundle-Activator>your.package.name.Activator</Bundle-Activator>在 maven-bundle-config 中。另请注意,切勿部署 org.osgi.core 或 org.osgi.componendium。核心包由 OSGi 框架部署,概要由各个规范实现部署。

关于java - 无法在 Apache ServiceMix 中启动 OSGI bundle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47114656/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com