1. dependecies repo的建立。
我们需要在eclipse上搭建一个OSGI的集成开发环境,实际上就是构建一个eclipse的目标平台(target),这个目标平台里面包括了一些我们要勇于OSGI开发的所必须用到的插件(Bundle),此外,剔除掉了一些我们不需要的插件来达到一个最干净,精简的OSGI开发环境的搭建,这样就有利于我们在eclipse上执行(run)或者调试(debug)一个方便的统一的OSGI开发环境来进行我们的OSGI相关开发工作。要完成这个目的,当然第一步工作是按照我们自己的需要去定制一个插件集,然后在利用eclipse的构建目标平台的功能(target definition)去关联到我们定义的这个插件集上,来完成一个自定义的OSGI开发平台的构建。
这里我们还是利用一个名叫
Maven Dependency Plugin的maven插件来实施我们的插件集合的构建。关于这个插件的配置方法,相信官方网站上已经做了非常详尽的说明,这里由于我们只需要这个插件的
Copying Project Dependencies功能,所以我们这里只简要的讲解一下这个功能的配置方法。
利用如下的一个模板配置你可以用来将配置在你的pom文件中的那些dependencies以及这些dependencies所依赖的dependencies拷贝到指定的目录:
xml 代码
- <project>
- [...]
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
- <overWriteReleases>false</overWriteReleases>
- <overWriteSnapshots>false</overWriteSnapshots>
- <overWriteIfNewer>true</overWriteIfNewer>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- [...]
- </project>
当然你也可以通过设置excludeTransitive属性为true来显示的将pom中配置的dependencies所依赖的dependencies进行拷贝。
xml 代码
- [...]
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>package</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
- <overWriteReleases>false</overWriteReleases>
- <overWriteSnapshots>true</overWriteSnapshots>
- <excludeTransitive>true</excludeTransitive>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- [...]
- project>
实际中,我们会一般的在pom中设置好我们这个OSGI环境所需要的一些bundles(插件),然后设置好outputDirectory(输出目录)假设是${project.build.directory},这个就是指代的这个工程下的target目录,然后用maven的命令:maven package来进行构建。构建完毕后一个符合我们自己需要的OSGI taget platform就设置好了。当然在一些最基础的OSGI核心bundle(比如org.eclipse.osgi)你就没必要再去以这种方式构建到target下了,因为你下下来一个eclipse的IDE后,它里面就包含了一些基本的OSGI核心包(eclipse就是一个OSGI产品),至于在POM中配置dependecies的方式来配置那些需要的bundles,那这些bundle来至哪里呢,这个可以参考我以前的博客中写过得利用pax来进行这项OSGI bundle的构建工作。
<o:p> </o:p>
剩下来的步骤就是要把我们eclipse IDE的工作环境设到我们之前做好的这个OSGI bundles集合上来了。
首先在我们已经构建dependences集合的工程里面创建一个Target definition

先选择New一个Target definition
<o:p> </o:p>
父文件夹选择我们的放了dependences的工程目录,设置好target配置文件的文件名后,点击完成,这样一个target definition就建好了。然后对其做些配置
<o:p>
</o:p>
如果你已经有一个基础的eclipse环境(实际上就是个基础的OSGI环境),那么就在Target Location中将这个Location设置进来,此外再将我们刚才构建的我们自需要的OSGI环境设置在Additional Locations里面,最后保存下这个文件,再点击右上角的Set as Target Platform,那么我们的eclipse就可以立刻切换到我们自定义的OSGI开发环境中去了。
<o:p> </o:p>
总结:利用maven插件以及eclipse的target platform的结合,来构建一个我们自需要的OSGI环境,然后实现IDE的target platform在这个target上的自由切换,有利于统一管理我们的OSGI开发平台环境,对开发中要用到的bundles进行了有效的积累和管理。
分享到:
- 2007-10-21 20:56
- 浏览 5366
- 评论(3)
- 论坛回复 / 浏览 (3 / 5133)
- 查看更多
相关推荐
在构建JAVA ME开发环境时,使用Eclipse3.3、Eclipseme1.7.6以及wtk2.5.2是一种经典的配置方案,尤其适用于初学者和希望深入理解JAVA ME应用开发流程的开发者。以下将详细介绍如何通过这些工具搭建一个完整的JAVA ME...
2. **Equinox环境搭建**:首先,需要安装Eclipse IDE,然后通过Eclipse的插件管理器安装OSGi开发所需的Equinox SDK。这样,我们就可以在Eclipse中创建和管理OSGi Bundle项目。 3. **创建OSGi Bundle**:在Eclipse中...
### 配置JAVA ME开发环境 本篇指南旨在帮助开发者们了解如何配置Java ME(Micro Edition)开发环境,包括...这些工具为开发 Java ME 应用提供了基础平台,开发者可以在此基础上创建和测试各种 Java ME 应用程序。
### OpenDaylight Controller简易入门详解 #### 一、OpenDaylight Controller简介 ...以上就是关于OpenDaylight Controller简易入门的相关知识点,希望能帮助初学者快速掌握如何搭建和测试ODL环境。
### JBPM 用户指南知识点 #### 一、JBPM 概述 - **1.1 什么是 JBPM?... - 介绍了如何将JBPM与OSGi环境进行整合。 以上内容概括了JBPM用户指南的主要知识点,为用户提供了全面且详细的JBPM使用指导。
### Spring 3.x 企业应用开发实战:关键知识点解析 ...这些知识点覆盖了 Spring 框架的基础概念、新功能、项目搭建、快速入门案例、IoC 容器的使用以及 Bean 的配置等方面,为读者提供了全面而深入的理解。