Я новичок в OSGI и Maven и пытаюсь выяснить, как создать проект maven-osgi в Eclipse. Я следил за учебниками и умел сделать проект 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"
И самая Importand часть проекта 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 и сделать явным. миллифарада Для этого я попытался добавить что-то вроде этого:
<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
Выньте весь раздел '' где он sasy maven-jar-plugin. Изменить ' jar ' '' bundle ' –