读书人

在Eclise Virgo 下运行Struts2+Spring

发布时间: 2012-10-13 11:38:17 作者: rapoo

在Eclise Virgo 上运行Struts2+Spring3+hibernate3.5

?

简介

这是一个在 Eclipse Virgo 中运行 Struts2 + Spring3 + JPA2(Hibernate 3.5) 的例子。非常简单。

本例子采用 maven 2.2.1 + Spring Tool Suite 2.3.3.M2 + Virgo 2.1.0.M02-incubation 开发,请同学们自行安装。

注意:

    如果你和我一样用Linux作为开发环境的话,建议将STS 安装在用户目录下。大家还需要将 Spring Tool Suite 2.3.3.M2 更新到最新,因为M2版本存在一些bug,导致无法正确生成 OSGi 所需要的 METAINF.MF 文件。同时启动 eclipse 后,请务必将workspace指向你的用户目录。这是为了让 STS 能够正确的部署项目。不要问我为什么需要这么做,我也不清楚,还花了我好久才解决这个问题。不过项目源代码可以在其他目录,这算是个好消息吧。在 Virgo 2.1.0.M02-incubation 的内核中存在一个bug。当 struts2 和 xwork 查找类文件时,会报NPE的错误,导致Struts2 无法在Virgo上运行。同学们需要自行下载最新的 org.eclipse.virgo.kernel 源代码,编译后,替换 ${virgo.install.dir}/lib/org.eclipse.virgo.osgi.extensions.equinox-2.1.0.M02-incubation.jar 文件。如何编译virgo ,请查看virgo wiki。

?

运行步骤

安装共享的打包脚本

?

$ svn co http://tuberose.googlecode.com/svn/trunk/struts2-example$ cd struts2-example$ mvn clean package
?

?

将例子导入到STS

?

大家可以用 Import > General > Existing Projects Into Workspace 方式导入。一共有四个项目。

如果导入没问题的话,所有项目应该都是OK的,项目图标上没有讨厌的红叉叉。

?

启动数据库并准备数据

?

进入 db 目录,运行 run.sh。然后再开启一个命令窗口,执行 db 目录下的 data.sh。

?

发布并运行

?

将 example 项目添加到 Virgo Server 中去,并启动 Virgo Server。

?

然后在浏览器中输入:?http://localhost:8080/example/main/home?userId=3?。一切正常的话,大家应该可以在浏览器上看到 “The ok message is Hello Glyn! ”当然大家可以尝试userId的值,输出的内容也会不一样。

?

运行步骤先介绍到这里,祝大家一切顺利!

?

当然,其中还是有一些诀窍的,同学们先自行探索吧,我会在后面的文章中解释。

?

原文地址: ?http://code.google.com/p/tuberose/wiki/Struts2ExampleOnVirgo

?

1 楼 hwhoho2010 2012-05-08 缺少name.pathfinder.tuberose:core:jar:0.5.SNAPSHOT
请教LZ如何解决的?

读书人网 >软件架构设计

热点推荐