最开始是听小寇给我介绍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中把的value改成mysql就可以了。

9. 运行ant test-all进行所有的测试,包括dao, service, web和jsp,来检查是否一切OK。前面都顺利,做到这一步时失败了,控制台输出了大量的错误信息,看都看不完,没办法,只有先看下Appfuse的build.xml,争取先把它读懂了再来检查错误。

appfuse mysql_Appfuse学习笔记(1)相关推荐

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  2. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  3. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  5. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  6. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  7. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  8. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  9. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

  10. NuGet学习笔记(3) 搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

最新文章

  1. mysql floor报错_mysql的floor()报错注入方法详细分析
  2. SIGGRAPH2018黑科技:开源语义软分割改进图像编辑
  3. 为什么cp新的so文件替换老的so,程序会core掉的根本原因是什么?
  4. 7.Mybatis关联表查询(这里主要讲的是一对一和一对多的关联查询)
  5. asinh函数_JavaScript中带有示例的Math.asinh()方法
  6. java 大文件下载_Java大文件下载不全问题
  7. 机器学习——特征工程之特征选择
  8. java post 注册_使用post request python注册帐户
  9. 短视频视频数据分析 5个解析
  10. “无论我们多么固执地渴求着对称和永恒,时间总是在不断制造着世间种种的不对称、不可逆以及死亡”。...
  11. 微信小程序 环形进度条_微信小程序实现圆形进度条动画
  12. html跑马灯编程,求一个HTML无缝的跑马灯代码。
  13. 汽车外饰360vr实景展示有哪些应用场景?
  14. 4.1 浏览器基础操作 2021-06-15
  15. 51单片机APP GSM短信老人跌倒定位温度异常报警检测GPS地图
  16. [创业-4]:强大企业九大要素圆模型案例1-阿里
  17. 造轮子之图片轮播组件(swiper)
  18. 容易和不易导入生产计划系统的工厂
  19. NCDA和计算机设计大赛,“未来设计师”全国高校数字艺术设计大赛(NCDA大赛)参赛流程...
  20. 一文读懂opendrive的xodr文件内容

热门文章

  1. 输出10000以内的质数C语言
  2. 小新pro13黑苹果配置实录
  3. 基于RFID的物联网系统
  4. 模糊C均值聚类算法matlab实现,FCMClust(模糊c均值聚类算法MATLAB实现)
  5. 手写bpnn算法实现iris多分类
  6. Axure RP使用攻略--入门级(一)
  7. c花体复制_能复制的花体英文字母
  8. 【ENVI解决经验】裁剪后背景改为白色(透明)
  9. linux 卸载keepalived,centos7下keepalived1.4.0安装启动卸载
  10. html5的图片上传插件,分享5个好用的javascript文件上传插件