在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如何解决的?