基于OSGi的Virgo环境搭建——环境篇

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于OSGi的Virgo环境搭建——环境篇相关的知识,希望对你有一定的参考价值。

1.背景

最近要将web项目模块化以支持热插拔、动态扩展等功能,因此我们开始研究如何将OSGi引入web项目。关于OSGi,大家可以参考OSGi研究 与总结。现在主流的j2EE框架都离不开Spring,因此,将OSGi与Spring进行无缝整合就成为了引入OSGi的关键。值得庆幸的 是,Spring早在08年就已对OSGi进行大力支持,并开发了子项目SpringDM与OSGi进行完美融合。但是,自从3.2版本之后,为了 Gradle,Spring摒弃OSGi(关于为什么摒弃OSGi,大家可以参考http://www.infoq.com/news/2012/10/spring-osgi-gradle),关于OSGi在J2EE中的应用,大家也有些争论,可谓是仁者见仁智者见智,说到底,还是对OSGi研究的不够深入,导致OSGi在项目中发挥不出关键作用以致成为累赘。

总之,没尝试过OSGi的人是没有发言权的,基于这样的背景,下面我们就来构建Spring Tools Suite(STS)+ Virgo 的开发环境,为我们接下来深入研究OSGi在Web项目中的应用打下坚实基础。

2.预备知识

在开始之前,先简单介绍一下涉及到的名词概念,了解OSGi以及Virgo的同学可以直接无视。

什么是OSGi?

简单的说,它是一套规范及标准,支持java语言模块化的系统。我们常用的Eclipse就是基于OSGi标准开发的。详情介绍http://developer.51cto.com/art/200909/152190.htm)

什么是STS?

基于Eclipse的一套IDE开发工具,简单说,就是Eclipse + STS插件。

什么是Virgo Tomcat Server?

就是将Tomcat进行包装,集成了OSGi环境的Server。详细介绍 http://www.ha97.com/5152.html

什么是Maven?

这个就不多说了,google一下就清楚了。

3.环境搭建

好,我们正式开始搭建过程。

3.1步骤一:

下载STS开发环境,地址http://spring.io/tools/sts/all,只能下载最新版本,分为绿色解压版及安装版,下载解压版即可。当然,如果你也可以下载Spring Tool Suite的插件直接安装到你的Eclipse环境中,该插件大概有130M左右。

技术分享

3.2步骤二:

下载Virgo Server,地址http://www.eclipse.org/virgo/download/,我们采用的是基于tomcat的。

技术分享

3.3步骤三:

配置Virgo Server。

我们需要将下载的Virgo Server集成到STS环境中,首先,在STS IDE中安装virgo tools插件,通过Help->Install New Software,弹出如下界面。

在STS IDE中安装virgo tools,通过Help->Install New Software,弹出如下界面。

技术分享

点击Add,输入

Name:virgo

Location:http://download.eclipse.org/virgo/milestone/tooling

技术分享

勾选Eclipse Virgo Tools插件,然后Next进行下载及安装。

技术分享

安装完成后重启STS。

然后,配置Server,也就是我们使用的virgo应用服务器。

点击Add,在弹出的配置界面中选择EclipseRT下面的Virgo Runtime。

技术分享

选择EclipseRT下面的Virgo Runtime并勾选create a new local server。

技术分享

填写Virgo Server的Name,点击Browser选择下载的Virgo Server的路径。

技术分享

完成后,在Server视图中可以看到我们创建的VirgoServer,下面的VmwarevFabric tc Server是这个版本的STS环境自带的,不用管。

技术分享

3.4步骤四:

配置Maven。(如果不清楚Maven是什么的同学可以去Google一下,此处是Maven下载的地址http://maven.apache.org/download.cgi

重启之后选择windows->preferences->Maven对maven进行配置。

建议不要使用Embedded内嵌的Maven,《Maven实战》上说不太稳定,详见《Maven实战》第47页2.7.3。

技术分享

最后,让我们测试一下搭建的环境,在STS中启动Virgo Server。

技术分享

可以看到virgo

启动后就是加载各个osgi的插件

打开浏览器,输入http://localhost:8080/

得到默认的启动页面如下

技术分享

点击右上角的Admin Console

输入用户名和密码:分别是admin、springsource

进行管理页面

技术分享

好啦,大功告成,我们的STS+Virgo初步的环境就搭建好了,下一节我们将介绍如何将Snaps集成到Virgo Server上,并演示几个官方的小demo。

以上是关于基于OSGi的Virgo环境搭建——环境篇的主要内容,如果未能解决你的问题,请参考以下文章

osgi spring hibernate virgo example ClassNotFoundException: org.hibernate.cfg.Configuration

osgi+camel+karaf运行环境搭建

如何在eclipse中基于maven创建osgi的bundle

Spring01---开发环境搭建

OSGI 环境中的依赖注入

K8S基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇)