关于appfuse的使用

来源:互联网 发布:网络预约驾驶员证 编辑:程序博客网 时间:2024/05/21 08:50

 

此文章是我收集来然后试验了后总结的,不过因为我没有安装数据库,所以数据库连接那块就没有发言权了。。 只能按照前人的说法写下来了。。。

 

一、创建工程
1,安装JDK
2,安装ant
3,安装tomcat
4,配置环境变量:ant_home;catalina_home;java_home;path;
5,下载appfuse(如:appfuse-1.9.4-src.zip)
6,解压appfuse(如:解压到 “D:/project/appfuse”)
7,执行cmd -- “D:/project/appfuse/ant new”
8,根据提示创建工程。(为简单起见,所有参数选用默认值)
9,执行成功将会有“build successful”的提示
10,进入文件夹“D:/project/myapp”将会有8创建的工程,工程创建完成


二、修改配置
1、要将mysql的admin密码置位空,否则就要修改${appfuse_home}下properties.xml文件中的
<property name="database.admin.password" value="1234"/>
# AppFuse 默认连接 MySQL 的用户名是 root,密码为空。如果你的 root 密码不是空,
需要修改 D:/project/myapp/build.properties 中的 database.admin.password 项,记得将注释去掉。
# AppFuse 默认不是用 utf-8 创建数据库,如果你需要支持多语言,
需要修改 D:/project/myapp/metadata/sql/mysql-create.sql 中的创建数据库的语句,修改如下:
清单 1. 创建数据库语句
create database if not exists @DB-NAME@ CHARACTER SET utf8 COLLATE utf8_general_ci;


2、把test/web/web-tests.xml文件里面的
<property file="${build.dir}/test/properties/ApplicationResources_${user.language}.properties"/>
<property file="web/WEB-INF/classes/ApplicationResources.properties"/>
两行都删掉,改为
<property file="${build.dir}/web/classes/ApplicationResources_${user.language}.properties"/>
就可以test-all成功了


3、build.xml里面display资源没有国际化处理,也就是没有进行编码,在build.xml进行修改使之进行国际化.
      修改方案:
         <native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes" includes="ApplicationResources_zh*.properties" encoding="UTF-8"/>
         <generate-database-properties/>
      改为:
         <native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes" includes="*_zh*.properties" encoding="UTF-8"/>
         <generate-database-properties/>


4、主要添加
    <exclude name="displaytag_zh*.properties"/>   

          <native2ascii src="web/WEB-INF/classes" dest="${build.dir}/web/classes"
                  includes="displaytag_zh*.properties" encoding="UTF-8"/>


5、D:/project/myapp/build.properties

#database.jar=${mysql.jar}
#database.type=mysql
#database.host=localhost
#database URL for creating other databases (doesn't work with pgsql)
#database.admin.url=jdbc:${database.type}://${database.host}/test
#database.admin.username=root
#database.admin.password=

#hibernate.dialect=org.hibernate.dialect.MySQLDialect
#database.driver_class=com.mysql.jdbc.Driver
#database.url=jdbc:${database.type}://${database.host}:3306/${database.name}?autoReconnect=true


6、运行D:/project/myapp>ant setup test-all
“setup” 完成了很多“设置”工作:创建数据库、构建 dao 和 serive 类、加载样本数据、创建 war 文件并部署到 tomcat,等等。
“test-all” 运行所有的测试用例:对 dao,service 以及页面的测试。
如果这个脚本运行成功,说明开发环境一切就绪。


7、D:/project/myapp/extras/appgen>ant install-detailed
[input] Would you like to generate code from a table or POJO? (table,pojo)
table
[input] What is the name of your table (i.e. person)?
employee
[input] What is the name, if any, of the module for your table (i.e. organization)?
hr

D:/project/myapp/src/dao/org/appfuse/hr
D:/project/myapp/src/service/org/appfuse/hr

重要
AppFuse 并不知道开发者需要加载哪些 hbm 文件,所以要手工将 Employee.hbm.xml 文件添加到配置文件中:
打开 applicationContext-hibernate.xml,在 “sessionFactory” 的 bean 声明中,找到 “mappingResources” 属性的定义,增加 “<value>org/appfuse/hr/model/Employee.hbm.xml</value>”。

D:/project/myapp/src/dao/org/appfuse/dao/hibernate/applicationContext-hibernate.xml

            <list>
                <value>org/appfuse/hr/model/Employee.hbm.xml</value>
                <value>org/appfuse/model/Role.hbm.xml</value>
                <value>org/appfuse/model/User.hbm.xml</value>
            </list>
将所有页面文字翻译成中文:
AppFuse 中用到的所有 Resource Bundle 文件位于
myapp/web/WEB-INF/classes 目录下(以ApplicationResources开头的properties文件)。
更改 ApplicationResources_zh_CN.properties 的文件编码方式为“UTF-8”。
然后,把 ApplicationResources.properties 中 “# -- Employee-START” 和 “# -- Employee-END” 之间的项
拷贝到 ApplicationResources_zh_CN.properties 中,并逐项翻译成中文。
AppFuse 会在脚本运行的时候自动用 native2ascii 进行编码转换。

原创粉丝点击