-- 作者:bibiye -- 发布时间:2005-1-11 20:03:44
-- Appfuse实践(一)——配置安装 我使用的是webwork+spring+hibernate,其他的可以参考相关tutorial。
一、系统环境准备 从http://java.sun.com下载,我使用1.4.2_05. 从latest Tomcat release 下载tomcat,目前的版本是5.0.28。最好不要用LE版本否则你要添加DBCP和JavaMail的JAR包. 下载最近的Appfuse版本,我使用的是 AppFuse 1.6。 下载mysql。 将会使用 Ant, XDoclet, Spring, Hibernate (or iBATIS), JUnit, Cactus, StrutsTestCase, Canoo\'s WebTest, Struts Menu, Display Tag Library, OSCache, JSTL and Struts (or Spring MVC)这些组件。
二、开始安装配置Appfuse download appfuse 并且解压 需要启动Mysql服务器 建立自己的应用程序数据库默认字符集是UTF8,这个问题很关键,因为Appfuse支持多语言否则程序无法正常运行。所以Mysql服务器的默认的字符集也应该是UTF8,大家使用mysql怎么更改到UTF8字符集我不知道,我是通过命名行参数启动的: mysqld --default-character-set=utf8 此时可以用ant建立自己的应用了: ant new -Dapp.name=myApp -Ddb.name=mydb 如果需要改变数据库可以修改build.properties文件中这部分的参数: #database.jar=${postgresql.jar} #database.type=postgresql #database.name=myApp #database.host=localhost #database URL for creating other databases (doesn\'t work with pgsql) #database.admin.url=jdbc:${database.type}://${database.host}/template1 #database.admin.username=postgres #database.admin.password=postgres #hibernate.dialect=net.sf.hibernate.dialect.PostgreSQLDialect #database.driver_class=org.postgresql.Driver #database.url=jdbc:${database.type}://${database.host}/${database.name} 建立数据库database, 在tomcat上发布应用 运行 ant setup
出错了,无法自动建立数据库mydb。出错信息如下: BUILD FAILED: D:\\myfile\\myApp\\build.xml:830: org.dbunit.dataset.NoSuchTableException: app_user 检查执行过程,把自动执行的创建app_user的sql语句放到mysql control center中执行 create table app_user ( username varchar(20) not null, version integer not null, password varchar(255), first_name varchar(50), last_name varchar(50), address varchar(150), city varchar(50), province varchar(100), country varchar(100), postal_code varchar(15), email varchar(255) not null unique, phone_number varchar(255), website varchar(255), password_hint varchar(255), primary key (username) ); 执行失败,错误提示: [root@localhost:3306] 错误 1071: Specified key was too long. Max key length is 500 作如下修改,成功了, email varchar(255) not null unique改成 email varchar(100) not null unique, 经过测试,长度超过166(包括)就出错了! 不知道是不是UTF8字符集造成的原因,一个UTF8字符被认为占用了三个字节(500/3<167)?? 就是说声明为 not null unique的字段长度不能超过166。 由于sql语句根据POJO的tag自动创建: 找到org.appfuse.model.User的源程序 修改 @hibernate.column name="email" not-null="true" unique="true" 改成: @hibernate.column name="email" not-null="true" length="166" unique="true" 运行 ant setup-db 成功了!ok!
启动tomcat 5.0.25 运行 ant setup 出错了 BUILD FAILED: D:\\edu\\edu\\build.xml:33: Please copy junit.jar into C:\\ant/lib 完成拷贝 成功了!excellent! 打开浏览器FireFox run一下: 输入:http://127.0.0.1:8080/myApp 没有反应??怎么回事?? 命令行下面启动tomcat,看看有什么错误提示: unregistering logger Catalina:type=Logger,path=/myApp,host=localhost 打开C:\\Tomcat\\conf\\Catalina\\localhost\\myAqpp.xml 修改:注释掉 logger信息 <!-- Logger className="org.apache.catalina.logger.FileLogger" prefix="myApp_log." suffix=".txt" timestamp="true"/ --> 重新启动tomcat 还是不对 更换版本tomcat 5.0.5.28 错误信息变了 Application 没有启动?? 运行任务 ant install 没有成功!出错信息如下: BUILD FAILED: D:\\myfile\\myApp\\build.xml:1221: java.io.IOException: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/deploy?path=%2FmyApp 直接在浏览器中输入http://localhost:8080/manager/deploy?path=%2FmyApp ??出现窗口要求输入用户名和密码 查看myApp\\tomcat.properties 管理员用户密码为admin,admin 修改 tomcat\\conf\\tomcat-users.xml 增加管理员admin 增加两个角色 <role rolename="admin"/> <role rolename="manager"/> 增加admin用户 <user username="admin" password="admin" roles="role1,tomcat,admin,manager"/> 删除tomcat下面myApp目录和conf\\Catalina\\localhost下的myApp.xml文件,重新启动tomcat 运行 ant install 成功了!!
但是tomcat报错: 2004-11-14 19:59:49 org.apache.catalina.core.StandardHostDeployer install 信息: Processing Context configuration file URL file:/C:/Tomcat/conf/Catalina/localhost/myApp.xml 2004-11-14 19:59:49 org.apache.catalina.core.StandardHostDeployer install 信息: Installing web application from URL jar:file:/C:/Tomcat/webapps/myApp.war! / 2004-11-14 20:00:04 org.apache.catalina.core.StandardContext listenerStart 严重: Skipped installing application listeners due to previous error(s) 2004-11-14 20:00:04 org.apache.catalina.core.StandardContext start 严重: Error listenerStart 2004-11-14 20:00:04 org.apache.catalina.core.StandardContext start 严重: Context startup failed due to previous errors 2004-11-14 20:00:04 org.apache.catalina.logger.LoggerBase stop 信息: unregistering logger Catalina:type=Logger,path=/myApp,host=localhost 为什么呢?? tomcat版本不对?? 运行struts安装程序,正常运行 重新运行ant install-webwork BUILD FAILED: D:\\myfile\\myApp\\build.xml:1391: Basedir D:\\myfile\\myApp\\extras\\webwork does not exist 嗯~~ 更改extras\\viewgen目录名称为webwork 重新运行ant install-webwork 再运行ant install 打开firefox,输入 http://127.0.0.1:8080/myApp。成功了! 输入用户名mraible 密码tomcat OK!!进入主界面(界面没有上传,不好意思了^_^)
|