Java org.apache.felix.dependencymanager.annotations 4.x.x中缺少plugin.xml
我正在评估我的OSGi应用程序的ApacheFelix依赖关系管理框架。我使用编程方法使它运行得很好。然而,我无法让注释正常工作。Maven(3.3.9)抱怨无法找到插件描述符(Java org.apache.felix.dependencymanager.annotations 4.x.x中缺少plugin.xml,java,apache,maven,Java,Apache,Maven,我正在评估我的OSGi应用程序的ApacheFelix依赖关系管理框架。我使用编程方法使它运行得很好。然而,我无法让注释正常工作。Maven(3.3.9)抱怨无法找到插件描述符(META-INF/Maven/plugin.xml),并拒绝使用最新版本的dm插件(4.2.0)进行构建。以下是我的pom.xml中的相关摘录: <build> &
META-INF/Maven/plugin.xml
),并拒绝使用最新版本的dm插件(4.2.0)进行构建。以下是我的pom.xml
中的相关摘录:
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.dependencymanager.annotation</artifactId>
<version>4.2.0</version>
<executions>
<execution>
<goals>
<goal>scan</goal>
</goals>
<configuration>
<log>info</log>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
我检查了org.apache.felix:org.apache.felix.dependencymanager.annotation
捆绑包的可用版本,并注意到,plugin.xml
确实在3.2.0版之前一直存在,从4.0.1版开始消失。我曾尝试使用版本3.2.0,虽然它成功地构建了包并在META-INF/MANIFEST.MF
Created-By: Apache Maven Bundle Plugin
DependencyManager-Component: META-INF/dependencymanager/<obfuscated>/EMSMicroservice
Export-Package: <obfuscated>;uses:="org.apache.felix.dm,org.osgi.framework";version="1.0.0"
Import-Package: io.vertx.core;version="[3.3,4)",io.vertx.rxjava.core.http;version="[3.3,4)",io.vertx.rxjava.ext.web;version="[3.3,4)",org.apache.felix.dm;version="[4.1,5)",org.osgi.framework;version="[1.5,2)"
Import-Service: io.vertx.rxjava.ext.web.Router
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-3.0.0.201509101326
创建人:ApacheMaven Bundle插件
DependencyManager组件:META-INF/DependencyManager//EMSMicroservice
出口包装:;用法:=“org.apache.felix.dm,org.osgi.framework”;version=“1.0.0”
导入包:io.vertx.core;version=“[3.3,4]”,io.vertx.rxjava.core.http;version=“[3.3,4]”,io.vertx.rxjava.ext.web;version=“[3.3,4]”,org.apache.felix.dm;version=“[4.1,5]”,org.osgi.framework;version=“[1.5,2)”
导入服务:io.vertx.rxjava.ext.web.Router
需要功能:osgi.ee;过滤器:=“(&(osgi.ee=JavaSE)(版本=1.8))”
工具:Bnd-3.0.0.201509101326
该组件在运行时仍然没有激活。apache网站上的文档没有帮助(可追溯到2011年!)。这本身可能是一个明确的信号,表明我不应该使用Felix dm服务,但我想了解最新版本应该如何使用
提前感谢您的帮助
干杯
GeorgJAR是一个依赖项,不是一个插件,谢谢,@tome-这很有帮助。我被这个页面甩了:。显然,这个页面对于当前Apache Felix DM的实现不再有效。事实上,他们似乎已经改变了主意。现在可能更好了,因为所有插件的责任现在都在“仅插件”中前一个org.apache.felix.dependencymanager.annotation
可能存在单一责任原则问题。
Created-By: Apache Maven Bundle Plugin
DependencyManager-Component: META-INF/dependencymanager/<obfuscated>/EMSMicroservice
Export-Package: <obfuscated>;uses:="org.apache.felix.dm,org.osgi.framework";version="1.0.0"
Import-Package: io.vertx.core;version="[3.3,4)",io.vertx.rxjava.core.http;version="[3.3,4)",io.vertx.rxjava.ext.web;version="[3.3,4)",org.apache.felix.dm;version="[4.1,5)",org.osgi.framework;version="[1.5,2)"
Import-Service: io.vertx.rxjava.ext.web.Router
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-3.0.0.201509101326