问题标签 [karaf-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
407 浏览

maven - Apache Karaf WAR 文件部署不起作用。404-在浏览器上找不到

我正在使用IntelliJ创建SpringMVC应用程序。maven我参考了这个链接来创建 SpringMVC maven 应用程序。这里,是一个代码

pom.xml

web.xml

我想在Karaf容器上部署这个应用程序的 WAR。要生成.war文件,我在项目目录中执行以下命令。

.war会在/target目录中生成。之后,我将生成的.war文件复制/deploykaraf. 这会自动将我的包部署在Karaf. 在执行以下命令时,它显示.war捆绑包已部署。

但是当我打开http://localhost:8181/spring-maven/时,它显示HTTP Status 404 – Not Found. Apache Tomcat/8.5.32. 我的机器上没有tomcat。我没有找到我要去的地方。请在这个问题上指导我。

谢谢你。

0 投票
1 回答
1228 浏览

osgi - 如何以编程方式从 Karaf 功能中排除捆绑包

在我的项目中,有一个包含所有 OSGi 包的 Karaf 功能 XML 文件。现在,这被用作其他 maven 项目文件中的依赖项。pom.xml

现在,以下代码用于安装上述功能。

有没有办法以编程方式从上述功能中排除特定的 OSGi 包?

0 投票
1 回答
1367 浏览

osgi - Karaf 安装带有 url 的 startup.properties 中列出的 OSGi 包时出错

当 Karaf 出现时,我收到以下错误:

安装 url 中列出的捆绑包时出错startup.properties- mvn:org.apache.karaf.service/org.apache.karaf.service.guard/3.0.6 = 10

内容startup.properties如下:

知道可能是什么原因吗?

0 投票
2 回答
4495 浏览

java - Karaf OSGi 配置抛出 ResolutionException: Unable to resolve root: missing requirements [root] osgi.identity;

我正在创建一个将在 Karaf 上运行的 Spring Boot 应用程序。我试图在 Karaf 中公开项目配置属性,以便能够使用 config:property-set 更改属性,而无需重新部署应用程序。

因此,我设法配置了我的 karaf 功能以将属性公开给 Karaf,但我正在尝试创建一个 OSGi 组件,以便能够在使用 config:property-set 更改属性时获取更新。

尝试安装 .kar 文件时遇到的错误如下:

这是我的github 仓库。我正在使用 java 8 和 maven 3.6、org.osgi.core 5.0.0、Karaf 4.1.3

有什么想法可以解决这个问题吗?使用@Component 和@Modified 从 Karaf 获取属性修改更新的正确方法是什么?

提前致谢!

0 投票
1 回答
207 浏览

apache-karaf - org.springframework 无法在 karaf 中解析

在 karaf 中部署 jar 并且此捆绑包无法启动后,显示以下一些错误。

为 spring-web 添加了所需的依赖项。参考下面的片段

从错误中我可以看到大部分时间它在导入包时失败,而我没有在导入包标记中指定任何内容。

任何帮助都非常感谢!

0 投票
1 回答
221 浏览

osgi - Karaf Cellar:安装 Kar 文件时出现问题 -> Maven 找不到工件

目前,我有两个地窖节点,在同一组中具有相同的配置。

我在节点 A 中配置了 maven,并在我的网络中配置了一个本地存储库,两个节点都可以访问。为此,我在文件“/karaf/etc/org.ops4j.pax.url.mvn.cfg”中编辑了“org.ops4j.pax.url.mvn.localRepository”。

然后我尝试通过以下命令在集群中安装 Kar 文件:

所有功能和捆绑软件都安装在 noda A 中,没有问题。但是节点 B 在找到工件时遇到了问题:

我还尝试在 org.ops4j.pax.url.mvn.repositories 列表中添加 localRepository,但没有任何改变。

卡拉夫版本:4.1.5

地窖版本:4.1.3

0 投票
2 回答
225 浏览

java - 如何解决karaf中的链依赖错误?

当我尝试启动一个捆绑包时出现以下错误

我理解为什么会出现错误(因为一个依赖来自两个流,而 osgi 在两者之间混淆了)。但是,我不知道如何避免这种情况,因为一个流程是“org.apache.felix”,它以 0 开始级别开始,我似乎无法改变它。

以下是捆绑包的更多日志:tree-show

我尝试了什么但没有奏效?

  • 我尝试将捆绑包列入黑名单,但没有真正发生。
  • 我尝试排除导致此问题的依赖项(jsr-305),但这也不起作用。
  • 开始级别已更改。

请提出一些可以解决这个问题的建议,或者至少为我指明正确的方向。

0 投票
1 回答
160 浏览

apache-karaf - 完整的 OpenDaylight 集成分发包的源代码

我的团队使用OpenDaylight 0.11.0作为 SDN 控制器的基础。我想知道 .tar.gz 是如何构建的?

即,是否有 github 上的基础项目和创建该 .tar.gz 文件的 maven 命令?

我发现了很多不同的与 opendaylight 相关的模块、功能和代码库,以至于我根本找不到构建上述 tar.gz 的完整源代码。我认为它是许多不同 opendaylight 模块的组合,但是我确信有一个父项目将它们捆绑在一起。

我的最终目标是为我们的团队构建一个可以feature:installed在 ODL 0.11.0 的 karaf 控制台中的自定义功能。

我们已经按照此处的开发指南进行了操作,但是该基础项目不包含顶部链接的 ODL 0.11.0 上可用的许多功能。即,当您构建该示例项目时,它不具备与上面链接的 ODL 0.11.0 tar.gz 相同的一组功能。

0 投票
1 回答
217 浏览

apache-karaf - karaf-maven-plugin:无法解决缺少的需求 osgi.cdi

我在这里看到了一些类似的问题,但它们要么没有得到答复,要么没有与我的案例无关的解决方案。我正在尝试使用karaf-maven-plugin. 这是 POM 的相关片段:

尝试构建,引发以下异常:

因此,显然发生的是未安装 CDI 的 OSGI 扩展器(osgi.cdi)。我可能应该将它添加到<bootFeatures/><startupFeatures/>但是:

  1. 我不知道它的名字是什么,因为简单地说<feature>cdi</feature>不会改变任何事情。
  2. 我不确定它是 in<bootFeatures/>还是 in <startupFeatures/>,甚至<installedFeatures/>是应该添加的。

提前谢谢了。

西摩

0 投票
0 回答
28 浏览

java - 项目依赖 Maven 或 karaf-maven-plugin 异常的 ClassNotFoundException

我有一个多模块项目,项目 A 是项目 B 的依赖项。

当我为项目 B 运行 Junit 测试时,项目 A 类已成功导入并调用了方法。但是,当我为项目 B 运行 mvn clean install 时,会为项目 B 的 Activator.class 的 karaf-maven-plugin 引发 ClassNotFoundException。

无法在项目 org.project.b 上执行目标 org.apache.karaf.tooling:karaf-maven-plugin:4.3.3:run (run):无法启动容器:无法在容器中部署项目工件:激活器包 org.project.b [55] 中的启动错误。org/project.a/core/Engine: org.project.b[55] 找不到 org.project.a.Engine -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: 未能执行目标 org. apache.karaf.tooling:karaf-maven-plugin:4.3.3:run (run) on project org.project.b: Can't start container ... 引起:java.lang.ClassNotFoundException: org.project.a .Engine 在 org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java: 78)在 org.apache.felix.framework。

Project 的 pom.xml 如下所示:

项目 B 激活器类的代码

导入 org.osgi.framework.BundleContext;导入 org.project.a.Engine;

公共类 Activator 实现 BundleActivator {