首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法构建程序集:无法解决根:使用karaf-bundle-plugin缺少需求

无法构建程序集:无法解决根:使用karaf-bundle-plugin缺少需求
EN

Stack Overflow用户
提问于 2017-02-08 12:04:03
回答 1查看 1.9K关注 0票数 0

我用maven- bundle -plugin创建了一个示例包项目,并创建了以下MANIFEST.MF:

代码语言:javascript
复制
Manifest-Version: 1.0
Bnd-LastModified: 1486554665411
Build-Jdk: 1.8.0_121
Bundle-Description: Helper classes
Bundle-ManifestVersion: 2
Bundle-Name: core.util
Bundle-SymbolicName: core.util
Bundle-Version: 1.0.0.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Export-Package: com.example.core.util;version="1.0.0",com.example.core.util.ex
 tension;version="1.0.0"
Originally-Created-By: Apache Maven Bundle Plugin
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-3.2.0.201605172007

现在,我用maven-karaf-plugin将该包作为依赖项添加到程序集构建中:

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>example-karaf-dist</artifactId>
    <version>1.0.1-SNAPSHOT</version>
    <packaging>karaf-assembly</packaging>

    <dependencies>

(...)

        <dependency>
          <groupId>com.example</groupId>
          <artifactId>core.util</artifactId>
          <version>${taxcloud.version}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>       
            <plugin>
                <groupId>org.apache.karaf.tooling</groupId>
                <artifactId>karaf-maven-plugin</artifactId>
                <version>4.0.7</version>
                <extensions>true</extensions>
                <configuration>
                    <bootFeatures>
                        <feature>standard</feature>
                        <feature>webconsole</feature>
                    </bootFeatures>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

但是,我无法构建,因为我得到了以下错误:

未能对项目示例执行目标org.apache.karaf.tooling:karaf-maven-plugin:4.0.7:assembly (默认-程序集)-karaf:无法构建程序集:无法解决根:缺少需求根osgi.identity;osgi.identity=core.util;type=osgi.bundle;version=“1.0.SNAPSHOT,1.0.SNAPSHOT”;resolution:=mandatory [原因:无法解决core.util/1.0.0.SNAPSHOT:缺少需求core.util/1.0.0.SNAPSHOT osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"] -> Help 1

我不明白错误信息,在这里找不到什么?我有1.0.0.SNAPSHOT版本的core.util包,所以一切都应该正常工作。这里有什么问题?如何将我的捆绑包包含在karaf程序集中?

EN

回答 1

Stack Overflow用户

发布于 2017-02-09 23:29:03

如我所知,karaf插件的karaf组装目标是从引用的特性描述符进行分发。要做到这一点,首先要创建一个特性描述符,其中包含您的包定义和所需的特性定义,然后使用该特性描述符作为karaf程序集pom的依赖项。因此,我认为问题在于,直接将包定义为正常依赖关系。

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

https://stackoverflow.com/questions/42112623

复制
相关文章

相似问题

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