appfuse2学习(一)

一、准备工作

    1、下载appfuse-dependencies-2.0.2.zip和appfuse-documentation-2.0.2.pdf

    https://appfuse.dev.java.net/servlets/ProjectDocumentList?folderID=9173&expandFolder=9173&folderID=4695

       下载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>mvnarchetype: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>mvnjetty: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等类,执行:mvnappfuse:gen -Dentity=pojoName。虽然dao、service等类都生成了,但在构建时报了些信息但并没有标明是错误:

[INFO] [appfuse:gen]

Property'http://apache.org/xml/features/nonvalidating/load-external-dtd' is notrecognized.

org.xml.sax.SAXNotRecognizedException: Property'http://apache.org/xml/features/

nonvalidating/load-external-dtd' is not recognized. atcom.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版本。

相关推荐