集成后的完整环境本是不需要安装的,但完整环境体积已经200多M,上传比较困难,故需要单独下载各个被集成的工具,其中包括:
随后将发布完整版下载地址,那样就不需要下载上述工具了。
1、下载jws-jpt1.0-src.zip,假设解压后的目录为<JWS-HOME>;
2、下载外部依赖所列工具。将jdk安装后(如果机器上已经装了1.5以上的jdk,则无需再下载,直接拷贝此目录即可)的目录拷贝到<JWS-HOME>/tools/jdk,ant解压后拷贝到<JWS-HOME>/tools/ant,maven2解压后拷贝到<JWS-HOME>/tools/m2,eclipse解压后拷贝到<JWS-HOME>/tools/eclipse,最后<JWS-HOME>的目录结构如下:
<JWS-HOME>
├─bin
├─docs
├─repository
├─settings
├─tools
│ ├─ant
│ │ ├─bin
│ │ └─lib
│ ├─eclipse
│ │ ├─configuration
│ │ ├─features
│ │ ├─plugins
│ │ └─readme
│ ├─jdk
│ │ ├─bin
│ │ ├─include
│ │ ├─jre
│ │ └─lib
│ └─m2
└─workspace
3、由于随后的操作要从远程仓库下载依赖库,所以要确保已经联网,而且防火墙没有阻止<JWS-HOME>/tools/jdk/bin/java.exe;
4、执行<JWS-HOME>/workspace/plugins/generator/bin/install.bat安装自定义maven2插件;
5、执行<JWS-HOME>/workspace/archetypes/jpt-basic/bin/install.bat安装项目模板;
6、执行<JWS-HOME>/bin/generate.bat创建新项目。创建过程中提示选择模板,直接输入1,随后的提示直接回车(如果输入n,则会提示输入具体设置),则会按默认生成名为mytest的项目,数据库默认使用mysql,数据库名mytest,用户名mytest,密码mytest;
7、使用<JWS-HOME>/workspace/mytest/docs/mysql/5.0下的SQL脚本创建数据库;
8、执行<JWS-HOME>/workspace/mytest/bin/jetty.bat启动jetty服务器;
9、上述4,5,6,8由于要远程下载依赖库,所以比较慢,下载的依赖库大概70M,最后<JWS-HOME>的目录结构如下:
<JWS-HOME>
├─bin
├─docs
├─repository
│ ├─ant
│ ├─aspectj
│ ├─backport-util-concurrent
│ ├─biz
│ ├─bsh
│ ├─classworlds
│ ├─com
│ ├─commons-beanutils
│ ├─commons-betwixt
│ ├─commons-cli
│ ├─commons-codec
│ ├─commons-collections
│ ├─commons-dbcp
│ ├─commons-digester
│ ├─commons-el
│ ├─commons-fileupload
│ ├─commons-io
│ ├─commons-lang
│ ├─commons-logging
│ ├─commons-pool
│ ├─commons-validator
│ ├─dom4j
│ ├─doxia
│ ├─fmpp
│ ├─freemarker
│ ├─geronimo-spec
│ ├─isorelax
│ ├─javax
│ ├─jaxen
│ ├─jdom
│ ├─jline
│ ├─jmock
│ ├─jpt
│ ├─jtidy
│ ├─junit
│ ├─log4j
│ ├─msv
│ ├─mx4j
│ ├─mysql
│ ├─net
│ ├─opensymphony
│ ├─org
│ ├─oro
│ ├─plexus
│ ├─qdox
│ ├─relaxngDatatype
│ ├─saxpath
│ ├─stax
│ ├─taglibs
│ ├─velocity
│ ├─xerces
│ ├─xml-apis
│ └─xml-resolver
├─settings
├─tools
└─workspace
10、启动IE,输入 http://localhost:8080/ 进入登录界面,登录用户administrator,密码123456。如果跳过步骤7,8,也可以直接访问<JWS-HOME>/workspace/mytest/src/main/webapp/index.html,浏览静态DEMO;
11、如果要在eclipse中编辑代码,可执行<JWS-HOME>/workspace/mytest/bin/create-eclipse-project.bat创建eclipse项目文件,然后执行<JWS-HOME>/install.bat配置eclipse工作区,最后执行<JWS-HOME>/eclipse.bat启动eclipse,导入mytest项目即可。
代码生成功能由maven插件实现,可通过批处理或在eclipse中直接调用
<JWS-HOME>/workspace/mytest/bin/export.bat 可以从数据库结构导出XML到<JWS-HOME>/workspace/mytest/src/test/resources/template/schema.xml,也可在eclipse中执行export扩展任务。
<JWS-HOME>/workspace/mytest/bin/custom-generate.bat 从<JWS-HOME>/workspace/mytest/src/test/resources/template/schema.xml 生成全套的页面、sqlmaps、model和模型校验,如果目标目录存在相同文件,则不会覆盖而是将新文件保存到<JWS-HOME>/workspace/mytest/src/main/tmp下对应目录,以方便开发者从中拷贝代码进行合并。此步同样对应eclipse中custom-generate扩展任务。
<JWS-HOME>/workspace/mytest/bin/generate.bat 效果相当于上述两步的综合,不过不会生成schema.xml。对应eclipse中generate扩展任务。
<JWS-HOME>/workspace/mytest/src/test/resources/template/下的文件是代码模板,由freemarker解析,maven插件会根据这里的模板针对数据库表生成对应的代码文件。
针对每张符合条件的数据库表将分别在<JWS-HOME>/workspace/mytest/src/main/resources/sqlmaps/declare 和 <JWS-HOME>/workspace/mytest/src/main/resources/sqlmaps/statement 下生成T<nnnModel>.xml,其中nnn为三位数字是对数据库表统一分配的数字做为全局表别名,Model为从表名对应出的模型名。
针对每张符合条件的数据库表将在<JWS-HOME>/workspace/mytest/src/main/java/<package>/model下生成<Model>.java,其中package为生成项目时指定的java包名,这里为jpt,Model为从表名对应出的模型名。
针对每张符合条件的数据库表将在<JWS-HOME>/workspace/mytest/src/main/resources/<package>/model下生成<Model>-validation.xml,其中package为生成项目时指定的java包名,这里为jpt,Model为从表名对应出的模型名。
针对每张符合条件的数据库表将在<JWS-HOME>/workspace/mytest/src/main/webapps/pages/<model>下分别生成edit.html,index.html,new.html,show.html,在<JWS-HOME>/workspace/mytest/src/main/webapps/server/pages/<model>下分别生成create.json,delete.json,destroy.json,edit.json,index.json,show.json,update.json其中model为从表名对应出的模型名。
可以使用freemarker+fmpp语法添加任意的新模板,适应不同类型应用。