作为一个初学者来说,搭建好Spring.DM 的web开发环境还是有些麻烦的。我就遇到了N多麻烦,走了很多弯路。本文介绍了2种比较简单的搭建Spring.DM OSGi web开发环境的搭建.
第一种方法
和上一篇文章相似,请移步这里:Spring.DM版HelloWorld
首先引用spring-osgi-2.0.0.M1文件夹中的dist和lib文件夹种的包(不清楚了,请看Spring.DM版HelloWorld 种的环境准备章节),具体引用后的包效果如下:
图1
配置"运行选项”,eclipse菜单:Run->Run Configurations…,就会出现运行配置的窗口,在左面的面板中右键点击“OSGi Framework”,点击“New”,如下图所示
图2
然后点击上图中的:Run按钮,就可以看到如下结果:
图3
通过上图可以看到,Tomcat已经成功启动,已经具备了开发的环境。
但是现在有一个问题就是,在图2种点“Validate Bundles”按钮会出现一些缺少的依赖包,如下图所示,在这一步可以先不管,tomcat也可以起来,我们将在第2种方法的时候
来解决这个问题。
图4
第2种方法
思路:不用默认的Target Platform,自己定义一个文件夹,把相关的jar包放到这个文件件中,然后新建一个Target Platform并设置为默认,当运行时就会使用这个Target Platform来运行。接下来我们开始。
首先建一个文件夹"Target_Spring_web”(大家可以随便起名字),然后把需要的jar包放进去,最终结果如下图所示:
图5
然后Eclipse种菜单:Windows->Preference,打开如下窗口,选择左面面板中的点击“Target Platform”,如下图所示,点击“Add”按钮如图7所示
图6
图7
在上图中选择“Nothing:start with an empty target definition”,然后点击"Next”按钮,就会启动Target定义界面,如下图所示,
图8
在上图中点击“Add”按钮,就会出现添加内容的界面如下图所示,然后我们选择“Directory”,点击“Next”
图9
图10
在上图中,点击“Browse”浏览我们刚才建的Target_Spring_web,就会看到该目录里面的jar包,如下图所示,点击“Finish”按钮,完成添加;
图11
图12
在上图12中就可以看到我们Target_Spring_web目录中的19个jar包,然后选择“Content”选项卡,如下图所示,选中了19个plug-ins,点”Finish“,完成Target创建。
图13
图14
在上图中可以看到我们创建好的Target Platform,然后选中它,点“Apply”,再点“OK”,完成创建。
好了,我们接下来创建运行配置项,Eclipse菜单:Run->Run Configurations…,会出现运行配置页面,在OSGi Framework上点右键,选择“New”创建一个,我修改Name为Spring_web,大家可以按照自己的习惯修改,选中19个bundles,点验证,会提示,没有检测到依赖项,如下图所示,然后点"Apply”,点“Run”,见证奇迹的时刻就到了!
我们可以看到的运行结果如下:
注意事项
我们在Spring.DM版HelloWorld中遇到了日志异常的问题,在网上也找了好多解决的方法,有的是建立一个Fragment project,来消除日志异常的问题,现在不用了,
大家可以看图5中的用红色框住的bundle,版本改成了:com.springsource.org.apache.commons.logging-1.1.1.jar,就好了。
心得体会
配置环境还有一种就是,使用OSGi对spring IDE的支持,大致原理和第2中方法一样,就是OSGi的版本和我们的就不一样了。第一种方法比较简单,但是会在项目中出现好多的bundle的引用,很烦人,不推荐使用。第二种方案推荐使用。