Добрый день!
Возникла проблема при создании плагина к Eclipse. Он должен использовать Spring DI, а также много модулей и зависимостей и я решил пытаться использовать Apache Maven для его сборки.
Изначально взялся за
maven-bundle-plugin.
Конфигурация:
<pre>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.3.4</version>
<extensions>true</extensions>
<configuration>
<manifestLocation>META-INF</manifestLocation>
<ignoreMissingArtifacts>true</ignoreMissingArtifacts>
<instructions>
<Bundle-SymbolicName>${bundle.symbolicName}; singleton:=true</Bundle-SymbolicName>
<Bundle-Version>${pom.version}</Bundle-Version>
<Export-Package>${bundle.namespace}.*;version="${pom.version}"</Export-Package>
<Import-Package>.,*;resolution:=optional</Import-Package>
<Bundle-Activator>${bundle.namespace}.Activator</Bundle-Activator>
<Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
<Require-Bundle>org.eclipse.ui,org.eclipse.core.runtime</Require-Bundle>
<Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
<Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
<Embed-Directory>target/dependency</Embed-Directory>
<Embed-StripGroup>true</Embed-StripGroup>
<Embed-Transitive>true</Embed-Transitive>
</instructions>
</configuration>
</plugin>
</pre>
Так, плагин генерирует всё в том виде, в котором я хотел бы это видеть (все зависимости из pom.xml встраиваются в bundle по пути target/dependency), практически все пакеты импортируются (объявляются в Import-Package в MANIFEST.MF).
Однако плагин не работает, ругается на отсутствие класса org.springframework.context.ApplicationContext, хотя архив с ним лежит в target/dependency плагина и подключен в Bundle-Classpath. В Import-Package пакет не объявлен, при попытке его явно там объявить — сыпятся другие ошибки, типа
No available bundle exports package 'org.springframework.context'<br/>
No available bundle exports package 'groovy.lang'<br/>
No available bundle exports package 'org.apache.wicket'<br/>
... Еще штук 30 ошибок, абсолютно не связанных с org.springframework.context и с проектом вообще (Groovy и Wicket вообще в workspace поиском не находятся, транзитивных зависимостей вроде тоже нет) ...<br/>
Возможно, что проблема от недостатка у меня опыта работы c OSGi. Приветствуется любая помощь.
Этот проект — моя предстоящая дипломная работа, очень хочется сделать на ее основе собственный OpenSource проект. Но для этого нужно хотя бы запустить его.