一、准备工作
1 、下载appfuse-dependencies-2.0.2.zip 和appfuse-documentation-2.0.2.pdf
下载apache-maven-2.0.9-bin.zip
http://maven.apache.org/download.html
2 、配置环境变量JAVA_HOME (JDK 5+ )、MAVEN_HOME (2.0.9+ ),安装MySQL 5.x 数据库。
二、构建官方指南
1 、为了加快构建时间,可以提前下载相应的软件。除了appfuse-dependencies-2.0.2.zip 外,还需要下载apache-tomcat-6.0.14.zip 。
appfuse-dependencies-2.0.2.zip 解压到C:\Documents and Settings\Administrator\.m2\repository
apache-tomcat-6.0.14.zip 拷贝到C:\Documents and Settings\Administrator\Local Settings\Temp\cargo\installs
2 、开始构建,建立目录appfuse ,在命令窗口进入到目录中,执行C:\appfuse>mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject 运行此命令是为了构建基于struts2 的appfuse 项目。在appfuse 目录下生成myproject 目录及相关文件。
然后在确认通过用户名为root 、密码为空进入mysql 的情况下,执行:C:\appfuse\myproject>mvn 运行此命令会完成相关 jar 包和 Tomcat 的下载,并运行工程的集成测试。
最后可以通过执行C:\appfuse\myproject>mvn jetty:run-war , 你就可以去查看你的工程了。用这个地址:http://localhost:8080 在你的浏览器中查看你的工程,管理员的默认用户名/ 密码为 admin/admin ,普通用户的话,可以用 user/user 登录。
3 、通过执行C:\appfuse\myproject>mvn appfuse:full-source 可以看到appfuse2.0 的源码,通过执行C:\appfuse\myproject>mvn 可以建立适合eclipse 环境的工程,不过直接导入工程文件后会有很多地方报错,需要在eclipse 中重新配置后才可以使用。
三、构建自己的工程
1 、创建工程(基于struts2 )
C:\appfuse>mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
2 、修改数据库相关信息( 我用的是sql server) ,进入myproject 打开pom.xml 文件,在文件底部修改数据库信息。并修改genericCore 属性为false (若生成dao 、service 等类需要修改此属性)。
3 、由于有现成的数据库所以直接生成实体类,执行:mvn appfuse:gen-model 命令,在myproject\src\com\mycompany\app\model 下生成了相应的文件。
4 、生成dao 、service 等类,执行:mvn appfuse:gen -Dentity=pojoName 。虽然dao 、service 等类都生成了,但在构建时报了些信息但并没有标明是错误:
[INFO] [appfuse:gen]
Property 'http://apache.org/xml/features/nonvalidating/load-external-dtd' is not recognized.
org.xml.sax.SAXNotRecognizedException: Property 'http://apache.org/xml/features/
nonvalidating/load-external-dtd' is not recognized. at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.getProperty(AbstractSAXParser.java:2060)
貌似解析xml 时出现了不认可的属性。根据http://www.nabble.com/errors-with-appfuse:gen-td17424029s2369.html 说明,可能以后使用中会出现其他错误,建议使用appfuse2.0.1 版本。