一、準(zhǔn)備工作
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、配置環(huán)境變量JAVA_HOME(JDK 5+)、MAVEN_HOME(2.0.9+),安裝MySQL 5.x數(shù)據(jù)庫(kù)。
二、構(gòu)建官方指南
1、為了加快構(gòu)建時(shí)間,可以提前下載相應(yīng)的軟件。除了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、開(kāi)始構(gòu)建,建立目錄appfuse,在命令窗口進(jìn)入到目錄中,執(zhí)行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 運(yùn)行此命令是為了構(gòu)建基于struts2的appfuse項(xiàng)目。在appfuse目錄下生成myproject目錄及相關(guān)文件。
然后在確認(rèn)通過(guò)用戶(hù)名為root、密碼為空進(jìn)入mysql的情況下,執(zhí)行:C:\appfuse\myproject>mvn 運(yùn)行此命令會(huì)完成相關(guān) jar 包和 Tomcat 的下載,并運(yùn)行工程的集成測(cè)試。
最后可以通過(guò)執(zhí)行C:\appfuse\myproject>mvn
jetty:run-war ,你就可以去查看你的工程了。用這個(gè)地址:http://localhost:8080在你的瀏覽器中查看你的工程,管理員的默認(rèn)用戶(hù)名/密碼為 admin/admin ,普通用戶(hù)的話,可以用 user/user 登錄。
3、通過(guò)執(zhí)行C:\appfuse\myproject>mvn appfuse:full-source可以看到appfuse2.0的源碼,通過(guò)執(zhí)行C:\appfuse\myproject>mvn可以建立適合eclipse環(huán)境的工程,不過(guò)直接導(dǎo)入工程文件后會(huì)有很多地方報(bào)錯(cuò),需要在eclipse中重新配置后才可以使用。
三、構(gòu)建自己的工程
1、創(chuàng)建工程(基于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、修改數(shù)據(jù)庫(kù)相關(guān)信息(我用的是sql server),進(jìn)入myproject打開(kāi)pom.xml文件,在文件底部修改數(shù)據(jù)庫(kù)信息。并修改genericCore屬性為false(若生成dao、service等類(lèi)需要修改此屬性)。
3、由于有現(xiàn)成的數(shù)據(jù)庫(kù)所以直接生成實(shí)體類(lèi),執(zhí)行:mvn appfuse:gen-model命令,在myproject\src\com\mycompany\app\model下生成了相應(yīng)的文件。
4、生成dao、service等類(lèi),執(zhí)行:mvn
appfuse:gen -Dentity=pojoName。雖然dao、service等類(lèi)都生成了,但在構(gòu)建時(shí)報(bào)了些信息但并沒(méi)有標(biāo)明是錯(cuò)誤:
[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時(shí)出現(xiàn)了不認(rèn)可的屬性。根據(jù)http://www.nabble.com/errors-with-appfuse:gen-td17424029s2369.html說(shuō)明,可能以后使用中會(huì)出現(xiàn)其他錯(cuò)誤,建議使用appfuse2.0.1版本。