最开始是听小寇给我介绍Appfuse,没想到还有这么好的东西,我以前怎么都没注意到呢。学习一个新框架,用实际项目(Appfuse应该算一个项目吧)总比使用文档强,网上有很多Appfuse的学习笔记,毕竟它是一个很大的工程,我现在肯定吃不透它,自己也做个笔记,能学到什么程度目前也说不清楚,记录下学习过程也方便以后查阅。
首先在Appfuse的网站https://appfuse.dev.java.net/上找到QuickStart文档,这个文档可以说是相当详细(也很短小),能让初学者相当quick地上手。
1. 安装JDK1.5,配好环境变量。
2. 下载Appfuse,写这篇文章时最新版本是1.9.4。下载后解压。
3. 安装Ant 1.6.5,设好环境变量ANT_HOME和PATH;安装Tomcat 5.5.20(推荐,我用的5.5.17,也没有问题),设好环境变量CATALINA_HOME。
4. 安装MySQL5.0(当然也可以装其它的数据库,在properties.xml和build.xml里改与数据库相关的设置就行了。我装了个ORACLE,但ORACLE内存消耗太大,又装回MySQL了)
5. 安装一个本地SMTP服务器。如果你已经有一个,可以修改原配置文件让它们指向你已经安装的SMTP服务器。但是那句话目前还没看懂,引用原文:Setup a local SMTP server or change mail.properties (in the web/WEB-INF/classes directory) and build.properties (in the root -- for log4j messages) to point to an existing one - they default to localhost.
SMTP服务器我装了个APACHE James,简单配了下,没有连上,用telnet localhos 4555登陆时始终提示“在端口 4555:连接失败”,不知道是操作系统的问题还是什么的,暂时搁下不管。
6. 把lib/junit3.8.1/junit.jar 复制到$ANT_HOME/lib。因为第9步测试的时候ant要用到Junit。
注意:在 $ANT_HOME/lib下已经有一个ant-junit.jar ,但这个JAR包并不是真正的Junit包,而是当你把Junit放到这个目录下后用来做第九步的ANT Junit task的。
7. 在Appfuse目录下运行ant new ,会创建一个新的用户命名的project,创建过程中提示输入application name, database name 和 package name。之后在Appfuse同级目录中创建一个新的Appfuse应用。
注意:命名的时候尽量不要使用test、 包含appfuse的名字或以数字开头的名字,也不要使用两个破折号(-),用一个可以。
8. 然后进入新创建的project,运行ant setup,ant会自动创建数据库、配置Tomcat、部署应用程序。ant运行完后就可以在MySQL里看到新建的数据库,在Tomcat里看到部署的应用程序。
注意:创建数据库时Appfuse默认MySQL用户名为root,密码为空。我安装MySQL时把密码设为了mysql,这样肯定不行。在properties.xml中把<property name="database.admin.password" value=""/>的value改成mysql就可以了。
9. 运行ant test-all进行所有的测试,包括dao, service, web和jsp,来检查是否一切OK。前面都顺利,做到这一步时失败了,控制台输出了大量的错误信息,看都看不完,没办法,只有先看下Appfuse的build.xml,争取先把它读懂了再来检查错误。