首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建Karaf插件的最简单方法

构建Karaf插件的最简单方法
EN

Stack Overflow用户
提问于 2013-07-31 19:40:59
回答 2查看 255关注 0票数 0

我以前有过Java编码经验,但对整个Java生态系统的了解却不多。我现在的任务是为一个巨大的系统开发一个小型的Karaf插件。这个系统使用了无数的Java工具:骆驼、Karaf、Maven等等。我有一些示例代码,我需要做一些小的修改和重建。

这个例子是一个Maven项目(至少有一个pom.xml),它最终应该是一个Karaf插件。什么是最简单的方式来做改变的例子和重建插件?我以前从未使用过上述任何一种,而且更改很小,所以安装和配置大量的东西似乎有点过火了。

从哪里开始?)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-07 09:32:05

我同意科技白痴的观点,你最好的选择是花点时间在karaf插件上,但你也可以手工设置包,至少要意识到,在maven插件的帮助下可以很容易地实现它(特别是如果您有大量的依赖项)。

一个基本的OSGI (您所称的“插件”),只不过是一个JAR文件,其中包含一个特殊的纯文本文件,即MANIFEST.MF文件。

MANIFEST.MF描述了这个包、它的名称、描述、如何激活它、该包运行需要什么(它的依赖项或导入),以及它必须向其他捆绑包提供什么(其导出)。

这是一个从维基百科OSGI条目中获取的示例清单文件:

代码语言:javascript
复制
Bundle-Name: Hello World
Bundle-SymbolicName: org.wikipedia.helloworld
Bundle-Description: A Hello World bundle
Bundle-ManifestVersion: 2
Bundle-Version: 1.0.0
Bundle-Activator: org.wikipedia.Activator
Export-Package: org.wikipedia.helloworld;version="1.0.0"
Import-Package: org.osgi.framework;version="1.3.0"

MANIFEST.MF文件通常打包在jar的META-INF/MANIFEST.MF文件夹中,因此:

  • 您可以手动编写该文件,并将其手动添加到生成的jar中。
  • 可能,在示例清单的最后三个元素中,您只需要Import-Package部分(不需要Bundle-Activator,也不需要Export-Package)
  • 您应该在Import-Package 中声明应用程序及其版本的每个必需的外部包导入。请记住,在应用程序中使用的外部依赖项必须在OSGI运行时中才能运行。
票数 0
EN

Stack Overflow用户

发布于 2013-07-31 19:44:49

Maven已经为karaf提供了一个插件,您只需将其附加即可。

有关更多参考,您可以看到下面的链接。

http://karaf.apache.org/manual/latest/developers-guide/karaf-maven-plugin.html

谢谢

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17979432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档