【问题标题】:OSGi - why is my bundle named "unknown-0.0.0" and MANIFEST.MF file overwritten?OSGi - 为什么我的包被命名为“unknown-0.0.0”并且 MANIFEST.MF 文件被覆盖?
【发布时间】:2015-04-03 01:01:50
【问题描述】:

我是新手,现在正在学习 OSGi。我正在尝试使用其中的 OSGi MANIFEST.MF 文件制作 maven 项目。在对捆绑激活器类和 MANIFEST.MF 文件进行编码后,我“mvn 打包”它,并在控制台中安装 OSGi。那么这个问题发生在我的包被这样命名而不是我 mvn-package-ed 时的名称。

unknown-0.0.0

然后,当我查看.jar​​里面的MANIFEST.MF文件时,里面是这样的:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: 5111100191
Created-By: Apache Maven 3.2.1
Build-Jdk: 1.8.0_40

而不是当我这样编码时:

Bundle-ManifestVersion: 2
Bundle-SymbolicName: com.pragprog.HelloWorld
Bundle-Name: HelloWorld
Bundle-Version: 1.0.0
Bundle-Activator: com.pragprog.hello.HelloWorld
Import-Package: org.osgi.framework

我猜我编码的 MANIFEST.MF 在我 mvn 打包时没有加载。这是我的项目目录结构

HelloWorld
           /src
                     /main
                            /java
                                       /com.pragprog.hello.HelloWorld.java
                            /resources
                                       /META-INF/MANIFEST.MF
                     /test
                            /java
                            /resources
           /target
                     /**.jar file here**/
           pom.xml

我已经搜索过这个,但找不到任何明确的解决方案。那我该如何解决呢?

提前致谢。

【问题讨论】:

标签: java maven osgi osgi-bundle


【解决方案1】:

“mvn 包”,它使用“maven-assembly-plugin”不是创建 OSGi 包的正确方法。相反,您应该使用“maven-bundle-plugin”。 Here there is some documentation关于如何使用它。

【讨论】:

    【解决方案2】:

    还可以查看来自 bndtools 团队的新 bnd-maven-pluginhttp://njbartlett.name/2015/03/27/announcing-bnd-maven-plugin.html

    您遇到的问题是 maven jar 插件将忽略您的清单,除非您在 pom 中使用类似这样的内容配置插件:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
            <archive>
                <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
            </archive>
        </configuration>
    </plugin>
    

    【讨论】:

      猜你喜欢
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 2021-02-21
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 2020-03-06
      相关资源
      最近更新 更多