我是OSGI和Maven的新手,想要弄清楚如何在Eclipse中創建maven-osgi項目。我已經按照教程,能夠做一個maven項目,也是一個OSGI項目,但我不能做一個包含它們的項目。Eclipse - 如何製作Maven + OSGI項目?
據我所知,OSGI項目最重要的部分是manifest.mf。在我的OSGI項目中,我有:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Osgi
Bundle-SymbolicName: osgi
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: osgi.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework;version="1.3.0"
maven項目的最重要的部分是它的pom.xml。在我的Maven項目,我有這樣的:
<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.videobet.test</groupId>
<artifactId>quick</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>quick</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
我們這兩個我想先做一個Maven項目,然後編輯pom.xml的所以它會增加一個OSGI項目的依賴,使清單相結合。 MF。爲此,我嘗試添加如下內容:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
但是我沒有成功。首先我得到了這樣的錯誤:
Plugin execution not covered by lifecycle configuration: org.apache.felix:maven-bundle-plugin:2.4.0:manifest (execution: bundle-manifest, phase: process-classes)
即使我能解決這個即時通訊不知道如果這將工作。我還發現了像tycho這樣的不同插件可以幫助完成任務,但我真的不想使用它們。我想保持儘可能標準的事情,並自己做事情,所以我最終會明白什麼即時通訊:)
任何幫助,將不勝感激!
您需要將包裝類型設置爲「捆綁」。 Maven-bundle-plugin生成MANIFEST.MF並將其放入Jar中,無需再使用單獨的插件來構建Jar。 –
對不起,不太明白,你能稍微貶低一點嗎? :) – user1985273
取出整個''部分,它很容易maven-jar-plugin。更改'瓶子 '到'包 ' –