我正在使用tycho开发一个eclipse插件,它需要一些非osgi文件,因为dependency.when我在pom文件中添加了依赖项,在maven构建过程中它不需要依赖项。因此,我尝试使用以下插件制作包含所有所需依赖项的osgi包。
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>1.4.0</version>
<extensions>true</extensions>
<configuration>
<manifestLocation>META-INF</manifestLocation>
<instructions>
<Bundle-SymbolicName>Osgi-bundle</Bundle-SymbolicName>
<Bundle-Name>Osgi-dependency</Bundle-Name>
<Bundle-Version>1.0.0</Bundle-Version>
<Export-Package>*</Export-Package>
<Private-Package>com.foo.bundle</Private-Package>
<Bundle-Activator>com.foo.bundle.Activator</Bundle-Activator>
<Import-Package>*;resolution:=optional</Import-Package>
<Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency>
<Embed-Directory>target/dependency</Embed-Directory>
<Embed-StripGroup>true</Embed-StripGroup>
<Embed-Transitive>true</Embed-Transitive>
</instructions>
</configuration>
</plugin>之后,我向eclipse .But提供了这个osgi包的依赖关系,但是它没有使用这个依赖项。我已经经历了很多sites.But,我无法在持续集成中获得这个maven构建的解决方案,但是,当我尝试用现有的jar创建新的插件项目并添加osgi包并导出插件.Its时,我做得很好。但我需要不断构建。请提供一些解决方案,以添加依赖的eclipse插件项目。
发布于 2015-07-24 15:59:42
我通过创建p2存储库解决了这个问题,并将其部署到服务器中,我创建了一个目标定义文件并将其链接到我的插件项目。
我们可以使用以下代码将非osgi转换为p2存储库。
<build>
<plugins>
<plugin>
<groupId>org.reficio</groupId>
<artifactId>p2-maven-plugin</artifactId>
<version>1.1.2-SNAPSHOT</version>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<artifacts>
<!-- specify your depencies here -->
<!-- groupId:artifactId:version -->
<artifact>
<id>org.slf4j:slf4j-log4j12:1.7.10</id>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>‘
关于详细的信息,这个网站是非常有用的。http://www.vogella.com/tutorials/EclipseTycho/article.html#convertjars
发布于 2015-07-14 05:06:36
一个可能的选择是使用maven-依赖-插件、在清单中配置类路径 for OSGi bundle和不要忘记在构建中包含jars。将jars下载到单独的文件夹中。
https://stackoverflow.com/questions/31383111
复制相似问题