Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OSGi-为什么我的包名为;未知-0.0.0“;是否覆盖MANIFEST.MF文件?_Java_Maven_Osgi_Osgi Bundle - Fatal编程技术网

Java OSGi-为什么我的包名为;未知-0.0.0“;是否覆盖MANIFEST.MF文件?

Java OSGi-为什么我的包名为;未知-0.0.0“;是否覆盖MANIFEST.MF文件?,java,maven,osgi,osgi-bundle,Java,Maven,Osgi,Osgi Bundle,我是新来的,现在正在学习OSGi。我正试图使maven项目包含OSGi MANIFEST.MF文件。在对bundle activator类和MANIFEST.MF文件进行编码之后,我将其“mvn打包”,并在控制台中安装OSGi。然后,当我对包进行mvn打包时,我的包被命名为这样的名称而不是名称时,就会出现这个问题 unknown-0.0.0 然后,当我检查.jar中的MANIFEST.MF文件时,内部是这样的: Manifest-Version: 1.0 Archiver-Version: P

我是新来的,现在正在学习OSGi。我正试图使maven项目包含OSGi MANIFEST.MF文件。在对bundle activator类和MANIFEST.MF文件进行编码之后,我将其“mvn打包”,并在控制台中安装OSGi。然后,当我对包进行mvn打包时,我的包被命名为这样的名称而不是名称时,就会出现这个问题

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-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
我已经找过了,但找不到任何明确的解决办法。那么我该如何解决这个问题呢


提前感谢。

使用“maven汇编插件”的“mvn包”不是创建OSGi包的正确方法。相反,您应该使用“maven bundle插件”。关于如何使用它。

使用“maven汇编插件”的“mvn包”不是创建OSGi捆绑包的正确方法。相反,您应该使用“maven bundle插件”。关于如何使用它。

使用“maven汇编插件”的“mvn包”不是创建OSGi捆绑包的正确方法。相反,您应该使用“maven bundle插件”。关于如何使用它。

使用“maven汇编插件”的“mvn包”不是创建OSGi捆绑包的正确方法。相反,您应该使用“maven bundle插件”。关于如何使用它。

还可以看看来自bndtools团队的新的
bnd maven插件

您遇到的问题是,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>

org.apache.maven.plugins
maven jar插件
2.6
${project.build.outputDirectory}/META-INF/MANIFEST.MF

另请查看来自bndtools团队的新的
bnd maven插件

您遇到的问题是,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>

org.apache.maven.plugins
maven jar插件
2.6
${project.build.outputDirectory}/META-INF/MANIFEST.MF

另请查看来自bndtools团队的新的
bnd maven插件

您遇到的问题是,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>

org.apache.maven.plugins
maven jar插件
2.6
${project.build.outputDirectory}/META-INF/MANIFEST.MF

另请查看来自bndtools团队的新的
bnd maven插件

您遇到的问题是,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>

org.apache.maven.plugins
maven jar插件
2.6
${project.build.outputDirectory}/META-INF/MANIFEST.MF

我建议使用特定于OSGi的Maven插件,例如我建议使用特定于OSGi的Maven插件,例如我建议使用特定于OSGi的Maven插件,例如我建议使用特定于OSGi的Maven插件,例如