Я создал проект расслоение пример с Maven-расслоением-плагин, а следующий MANIFEST.MF был создан:Невозможно создать сборку: Не удается решить корень: недостающее требование с karaf-расслоением-плагин
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-плагин:
<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>
Однако, я не могу построить, потому что я получаю следующее сообщение об ошибке:
Failed to execute goal org.apache.karaf.tooling:karaf-maven-plugin:4.0.7:assembly (default-assembly) on project example-karaf-dist: Unable to build assembly: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=core.util; type=osgi.bundle; version="[1.0.0.SNAPSHOT,1.0.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve core.util/1.0.0.SNAPSHOT: missing requirement [core.util/1.0.0.SNAPSHOT] osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.8))"] -> [Help 1]
Я не понял сообщение об ошибке, чего здесь не найти? У меня есть core.util bundle в версии 1.0.0.SNAPSHOT, поэтому все должно работать. В чем проблема? Как я могу добавить свой пакет в сборку карафа?
Какую версию java вы используете для сборки? –
@ChristianSchneider 1.8, а манифест содержит информацию, которая была построена с этой версией. –
Ваш pom выше некорректен: com.example/groupId> –
Revive