基于的sotower项目移植
一. 新建模块项目
创建SGUAP容器IAS及模块项目IAS。
(一)
新建IAS容器
A. 安装UAP 。 B. 启动sguap-service
单独使用一个tomcat将http端口设置为8888(其他端口不能与UAP默认tomcat冲突即可,这个看个人电脑环境自行配置),将在tomcat中启动。启动结果如下无异常:
C. 新建UAP项目
填写项目名称,直接下一步:
D. 增加数据库连接
E. 去除统一权限
在配置文件中,
F. 添加模块项目
打开:
设置path(模块项目存放的工作空间目录), 设置module(模块项目名称)
(该配置可以在新建模块项目后回来修改,或者直接先定好模块项目名再去创建)
G. 在UAP中引入sguap-server
设置Location: Reload加载包到UAP中,保存地址到IAS中:
H. Jar包引入
在IAS中添加如下3个包:
将包添加到Target Platform
(二) 新建IAS模块项目
A. 新建模块项目
填写模块项目名称:
默认直接完成:
B. 去除统一权限
将统一权限的两个引用包Remove掉:
C. 引入jar包
将之前添加进Target Platform的包引入,如下两个:
二. 将项目移植到模块项目
(一)
整体目录迁移
在上重新建立的模块项目,将原的目录原封不动拷贝进来就可以了,如果个别包报错,稍做调整.
(二) Flex前台移植
主要是修改上下文文件:
.flexProperties文件修改如下(只修改黄色部分):
三. 将sotower项目迁移到模块项目 (一) 整体目录迁移 将sotower项目下src、javatest、javasrc、html-template直接复制到uap模块项目 根目录中。 将sotower项目下WebContent中除WEB-INF外全部复制到uap模块项目下的face 中。 将sotower项目下WEB-INF中的conf复制到uap模块项目下的config中。 将sotower项目下的所有的spring配置文件,复制到uap模块项目下的config下。 将sotower项目下libs里的swc文件复制到uap模块项目下的libs中。 将sotower项目下WebContent\\WEB-INF\\lib里的jar包复制到uap模块项目下的libs 中。 将sotower项目下WebContent\\WEB-INF中的flex目录复制到uap模块项目下的face 中。 sotower项目目录结构图与迁移后的uap模块项目目录结构图如下: (二) 配置文件新增与修改 A. 修改项目的文件 修改之前sotower项目的文件,在模块项目的在config下新增,修改之前项目的Servlet、Listener,注意标签头,具体格式如下: 部分文件发布后无法找到目录,所以需要创建这样一个目录 查找到所有classpath后的文件,修改路径, 将这些文件存放到新建的configs目录中 (三) 缓存的修改 Sotower使用的eache的缓存,我们要将项目移植到uap就必须使用uap的缓存,现在我们来修改缓存的引用了的java文件: 修改使用uap缓存文件,如下图 修改了uap的缓存,也要修改对应的java代码如下: 修改相应的缓存配置文件: (四) 修改项目中应用sotower包的java代码 A. commandFactory的修改方式 B. 包引用的解决方法 将sotower这个包的源码拷贝出来放在项目中,后续修改 (五) 配置文件修改 基于sotower的项目,引用了较多sotower的东西,尤其要注意配置文件,以本项目为例子,要将, , ,的配置文件都注释掉. (六) jar包调整 将lib中如下包删除(这些包与sguap-server中Reload到项目中的包冲突): 注:如果项目运行中有提示jar包冲突,查看是否libs中是否有包与sguap-server中Reload到项目中的包重复,如果重复就把libs中的删掉。或者有些包不兼容UAP,需要重新在UAP中引入。UAP平台集成的第三方jar包路径如下(uap的安装目 录)sguap-server\\WEB-INF\\repository\\platform\\程序启动前,需要将自带jar包(libs下的包)引入UAP中,如下操作: (七) 配置.springBeans文件 使用Navigator视图,查看项目的.springBeans 文件: 将移植的配置文件配置进该文件,如下: (八) 前端移植 将前端文件(如:jsp、html等)移植到UAP模块项目的face下,如下: 进行必要调错修改 四. 集成Flex (一) Jar包添加 将BlazeDS所需要相关Jar包放置在模块项目的lib目录下: (二) 配置模块依赖关系 在文件的Classpath部分,将这些Jar添加到模块的类路径中: 在文件的Required Plug-ins部分,添加对,模块的依赖。 (三) Spring配置文件 在config目录下增加一个Spring配置文件,如,通过模块化标签配置与BlazeDS相关的Servlet、Listener。注:该配置文件的内容与BlazeDS配置在传统Web应用中的内容相对应,如下示例: (四) Flex配置文件 将BlazeDS配置文件放置在模块项目face目录下: 修改文件中channels标签体的内容,在endpoint的URL属性中加上模块上下文。 在文件中的配置属于全局配置,如果全局配置不生效,可以在swf源文件mxml程序的RemoteObject标签里配置endpoint属性(属于局部配置,局部配置的优先级高于全局配置),如下: 首先将Flex项目文件导入到Eclipse里面,修改.actionScriptProperties以及.flexProperties文件. .actionScriptProperties主要是让Flex编译之后的文件在WebRoot下修改如下: 最后将除了WEB-INF这个文件夹,其他的WebRoot下的文件全部拷贝到uap模块项 目的face目录下; 注意:如果项目还是出错起不来, 必须重写这个 到uap模块项目中,并在模块项目中添加如下配置文件: SpringFactory.java文件,将这个文件导入 到这里项目已经基本移植完成了,还有些java代码报错的需要自己调整,本项目移植的过程中最主要还是得注意以下几点问题: A. jar包的冲突,uap底层使用spring,hibernate在项目集成的时候,要注意是 否会冲突; B. 在flex集成的时候,出现无法访问servler的方法,在这里要修改这个方法 获取bean的方式; C. 原项目的一些项目级的servlet,listen配置文件必须按照uap的格式来改 造,具体见二(二)A的修改方式; D. 集成flex的时候必须注意,flex的上下问路径必须重写修改(可根据需求来 修改),即重新编译flex项目,将对于的swf文件拷贝到模块项目的face目录下; E. 最后的注意一些项目的配置文件的加载路径是否正确; 因篇幅问题不能全部显示,请点此查看更多更全内容