OSGi enRoute – 2.3 – 结合Maven使用OSGi enRoute

20180128_101

本教程将会向你展示如何仅使用Maven和vi来构建一个OSGi enRoute可执行JAR,本教程完全基于命令行进行操作。(有一个章节概要展示了如何使用M2E和Bndtools编辑器,即使对于纯命令行粉丝来说它也很有用。)

我们即将构建的是一个与在《2.2基础教程》中很类似的应用程序,与之不同的是我们使用Maven来替代Bndtools。

这个应用程序是一个简单的Web应用。它提供了一个文本输入框和一个Eval按钮。文本会被发送给Server进行计算。后台有一个Service用来计算输入的文本。我们将会把应用程序打包成一个包含了所有依赖的可执行JAR中。

在教程中我们将会仅使用普通的Maven和vi。当然,你也可以使用你最喜欢的编辑器来编辑pom和bnd文件。

本教程的结果可以在Github上找到: https://github.com/osgi/osgi.enroute.examples.eval.

免责声明:此教程用于介绍如何使用Maven来构建一个OSGi enRoute可执行JAR,它并非用于学习vi、Java、Git,也不会介绍学习Maven或M2Eclipse。

我们一如既往地欢迎对我们的站点的pull请求

我们将会构建什么

本教程将会构建如下的应用:

20180128_102

你可以从关于OSGi章节中了解更多关于这种文档格式的信息。

译者注:20180128_103

在哪里工作

你可以在文件系统中创建一个文件夹,例如~/workspaces/osgi.enroute.examples.eval。我们后续会假定这个是你的shell的默认工作文件夹。

章节

1. Parent Pom – 创建一个Maven的父Pom工程

2. API Project – 如何正确地对bnd工程开展工作,使用基于API的设计。

3. Provider Bundle Project –创建一个工程来提供Eval Service的实现

4. Testing our Provider – 为我们的Provider Bundle创建并运行JUnit测试

5. OSGi Runtime – 如何创建一个OSGi Runtime

6. Command Project –创建一个shell命令来练习计算器Parser。

7. Dependencies – 使用一个标准的Parser来替代我们的简化版Parser。

8. A Web Application – 创建一个使用我们的计算器的单页Web应用

9. Integration Testing – 运行集成测试

10. Modules – 将父pom转换为module pom

11. Continuous Integration –在持续集成中构建模块

12. Eclipse and Bndtools – 使用Eclipse中的Bndtools editor来编辑、调试你的bundle

结束语

现在你已经完成了本教程!接下来做点什么呢?

我们非常期望得到一些反馈。我们最喜欢的反馈是对文档的pull 请求。作为一个早期用户,你必须进行一些艰难的探索,甚至需要做一些糊涂事,抑或你会冒出一个天才的主意。请进入我们位于Github上的OSGi enRoute仓库,将它clone到你自己的账户中,然后创建你自己的修改或扩展,并且发送一个pull请求。我们和其他与你一样的朋友们都会对这样的贡献心存感激。

在你完成本教程之后,你应该对于如何使用分布式OSGi和OSGi enRoute来构建应用程序有了基本的感觉。因此继续学习的最佳方式是构建一个基于这些原则的小应用程序。学习新技术的最佳方式是不断解决真实问题。如果你遇到了问题,可以使用论坛来提问并获取答案。

记得经常来看看这里,我们将会不断扩展这个站点,提供网上可以找到的各种Service的一览表。这些一览表将会通过真实的样例来向你展示如何在应用程序中使用这些服务。

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2018/01/osgi-enroute-0203/
百度已收录