0

我是卡拉夫的新手。我有一个 jar,它有一个带有方法 main 的类 App。当我将 jar 放到 The Karaf 日志服务控制台中时,说捆绑已启动,但似乎没有任何反应。第一件事(罐子)做的是一个简单的数据库写入,所以我可以看到它是否正在运行(没有生成日志文件,尽管应该有一个)。

jar 依赖于许多其他 jar。我们的系统管理员不会在生产服务器上安装 Maven。将帮助 jars(如 mysql-connector-java-[version].jar)放在哪里?

Karaf 是否使用 Manifest 文件查找主类?我是否必须实现一些特殊的接口或其他东西?

谢谢你的帮助。

4

1 回答 1

2

由于 Karaf 是一个 OSGi 容器,您应该首先阅读一些关于如何编写正确的 OSGi 包的内容。首先,您需要一个启动您的捆绑包的激活器(就像一个主程序一样)。Main Class 永远不会被解释。是的,Karaf,因为它是一个 OSGi 容器,确实“读取”了 Manifest,但首先要确保它是一个正确的 OSGi 捆绑包,其次是如何通过读取 Package-Import/-Export 来进行解析。

关于“打包” - 使用许多其他 jar/bunldes - ,您可以构建自定义 Karaf(阅读有关如何执行此操作的 Karaf 文档)或为包含您的捆绑包和 feature.xml 的捆绑包创建一个 KAR (再次查看 Karaf 的文档)

于 2013-10-23T04:56:36.690 回答