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

Apache Karaf-Bundle启动但什么都不做?

汪弘毅
2023-03-14

我刚来卡拉夫。我有一个jar有一个类App和一个方法main。当我将jar放入Karaf日志服务控制台时,bundle已启动,但似乎什么也没有发生。(jar)做的第一件事是编写一个简单的数据库,这样我就可以查看它是否正在运行(没有生成日志文件,但应该生成一个)。

这个罐子依赖于许多其他罐子。我们的sysadmin不会在生产服务器上安装Maven。helper jar(比如mysql-connector-java-[version].jar)放在哪里?

Karaf是否使用清单文件来查找主类?我是不是必须实现一些特殊的接口什么的?

共有1个答案

花飞扬
2023-03-14

由于Karaf是一个OSGi容器,您应该首先阅读一些关于如何编写正确的OSGi包的内容。首先,您需要一个激活器来启动您的bundle(就像main一样)。主类从不被解释。是的,Karaf(因为它是OSGi容器)确实“读取”了清单,但首先要确保它是一个正确的OSGi包,其次要确保如何通过读取package-import/-export进行解析。

关于“打包”--使用其他JAR/bunldes的大量--您可以构建一个自定义的Karaf(阅读关于如何这样做的Karaf文档),或者为包含bundle和feature.xml的bundle创建一个KAR(再次查看Karaf的文档)

 类似资料:
  • 我正在编写一个Kafka source connector,它基于一个我用于音频文件的工作生成器。连接器启动了,但是没有任何反应,没有错误,没有数据,我不确定这是编码问题还是配置问题。 连接器应该读取整个目录,并将文件读取为字节数组。 配置类: 源连接器类 源任务类 版本Class Connector.properties Connect-standalone.properties 错误:

  • 我仔细地遵循了Minikube上的所有指示(我想)。我在Windows 10(1.7.2版)上安装了它,在Administrator下启动了Powershell控制台,设置了3个代理变量(我在代理后面),启用了Microsoft-VHyper-V,并运行了cmd:minikube start--vm-driver=Hyper-it下载了vm启动映像,然后我得到了以下行输出:*创建Hyper-vm(

  • 我有一个问题,我似乎无法独自解决。如果有一个OSGI捆绑包,它使用blueprint实例化应该部署到Karaf 3.0.0的对象。问题是,ClassNotFoundExceptions一直困扰着我,尽管相应的jar都位于捆绑包jar中。这是我的pom.xml: 这是我的一个blueprint xml文件(该文件导致ClassNotFoundException): 最后,这是我在尝试启动捆绑包时收到

  • 在Java中,什么与Python的pass等效?我意识到我可以使用continue语句或不完成语句体来实现这种效果,但我喜欢使用pass语句。

  • 我的配置文件是类路径的路径。至少我认为是这样。我放置了log4j。资源文件夹中的属性文件,而log4j对此不做任何处理。即使我删除了它,也不会发生错误。 任何人都可以看到,我在使用maven LoggerTest的内容: 程序输出: log4j的内容。属性: 在波姆。xml并不是什么不同寻常的东西,只是一个依赖组织。阿帕奇。登录中。log4j log4j内核2.17.2,编译器源目标是16,没有插

  • 我正在尝试启动一个活动,其中包括捆绑包。我正在尝试将这个捆绑包设置为空,因为还没有任何东西传递给这个活动。 目前,Android系统导致活动崩溃。未找到资源错误 编辑添加错误日志 08-24 10:39:33.180:E/AndroidRuntime(21177):致命异常:main 08-24 10:39:33.180:E/AndroidRuntime(21177):java。lang.Runt