Мне нужна помощь, чтобы настроить зависимость как необязательную,
Использование maven-bundle-plugin: 3.4.0,
В разделе «Импорт пакетов» они называются «разрешение: необязательно».
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.4.0</version>
<extensions>true</extensions>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<Export-Package>*</Export-Package>
<Import-Package>
org.junit.*;/resolution=optional/,
junit.framework.*;/resolution=optional/
</Import-Package>
<_nouses>true</_nouses>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
Ожидается, что файл манифеста OSGI будет содержать разрешение:=необязательно для этой библиотеки, но изменения не будут отражены.
Ожидание: junit.framework;разрешение:=необязательно
но в сгенерированном файле манифеста junit.framework
Я пропустил какую-либо конфигурацию, чтобы отразить ее разрешение как необязательное в сгенерированном файле манифеста?
При исследовании Maven-Bundle-Plugin, BundlePlugin.java File я понял, что если артефакт содержит необязательное значение true, то оно отражается в сгенерированном файле манифеста как разрешение: = необязательное
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
Но предыдущее решение должно работать в соответствии с исходным кодом BundlePlugin.java,
направь меня дальше.