本地搭建Appfuse運行環境時遇到的若干問題及處理(Appfuse-2.1.0-M2)

最近開始學習appfuse,爲了搭建調試環境,過程感覺是有些鬱悶的,在這裏記錄下來,供人蔘考,少走彎路。

大致上,可以參考[url]http://www.appfuse.org/display/APF/AppFuse+QuickStart+-+Chinese[/url]步驟,順便補充一下必要的調整和操作:

前提條件:
1. 下載安裝jdk,推薦使用1.6,指向jdk目錄而非jre目錄
2. 安裝mysql,我本地使用的是5.0.45,也是ok的
3. smtp 這步驟暫且可以跳過 (如果不想太偷懶的話,可以先配置連接到google的smtp)
4. 使用maven 2.2.1+ (文章中輕描淡寫的說如果用maven3會如何,確實如此,所以請使用maven2.x)

由於現在appfuse在使用maven方面貫徹的比較堅決,所以最好先做一些關於maven的功課。偶剛看過《maven實戰》,這本書確實幫助非常大。

先在頁面上生成archetype配置,例如:


[img]http://dl.iteye.com/upload/attachment/440139/11875cd3-2c7c-315f-af25-0ffc80f81fe3.png[/img]


在這裏我想將appfuse工程放在我的 D:\appfuse 目錄,於是將頁面生成的mvn命令拷貝到我的控制檯上執行

[img]http://dl.iteye.com/upload/attachment/440145/48391fc0-c48d-32a4-875f-782da1ac9eca.png[/img]

如果你的本地maven倉庫上沒有下載相應的依賴庫文件的話,這個步驟時間會比較長(如果運氣再差點,半個小時是需要的)

由於這樣得到的appfuse只包含了部分的源碼,例如service和數據庫訪問模塊,是以jar文件的形式下載的。所以appfuse提供了 mvn appfuse:full-source ,可以進一步獲取appfuse全部源碼。
但是默認情況下(在appfuse2.1.0-M2)版本下,這個命令執行之後會報錯:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: N
subject alternative DNS name matching appfuse.dev.java.net found.
at org.apache.tools.ant.taskdefs.Get.execute(Get.java:139)
at org.appfuse.mojo.installer.InstallSourceMojo.addModuleDependencies(I
stallSourceMojo.java:630)
at org.appfuse.mojo.installer.InstallSourceMojo.execute(InstallSourceMo
o.java:214)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlug
nManager.java:490)


上述問題是由於appfuse默認指定的svn服務器已經不再可用了。
[url]http://appfuse.547863.n4.nabble.com/Classpath-issue-on-importing-appfuse-project-in-eclipse-td3249138.html[/url]

解決辦法就是修改頂層pom.xml文件,加入新的svn配置,如下:

[img]http://dl.iteye.com/upload/attachment/440155/c3b56e78-2a03-3e7f-a1fc-838ff1fe013a.png[/img]


完成上述步驟之後,如果你使用的maven3,配置完svn之後仍然會執行出錯,此時需要使用maven2版本,重新配置完maven環境變量之後,記得重啓命令控制檯。
關於maven版本的問題,可參考:
[url]http://appfuse.547863.n4.nabble.com/Classpath-issue-on-importing-appfuse-project-in-eclipse-td3249138.html[/url]

執行完 mvn appfuse:full-source 命令之後。爲了能在ide中導入,使用mvn eclipse:eclipse即可,如果構建失敗,提示“ Request to merge when 'filtering' is not identical.”的話,參考:[url]http://easwy.com/blog/archives/maven-build-eclipse-project-failed/[/url]
可改用: mvn org.apache.maven.plugins:maven-eclipse-plugin:2.6:eclipse 命令


另外官網上提到的 mvn install eclipse:eclipse 我沒有試成功,總是在啓動集成測試的時候掛掉, 但畢竟我的本意只是想要生成eclipse工程文件,所以這個我就暫時無視了。


另外我本地mysql的root用戶,最初不是空密碼,後來改成空密碼,只爲了偷懶一下,密碼、以及數據庫類型的配置,在頂層的pom文件中對應有屬性配置。


希望這些文字對各位能有點幫助。爲了搞定這個環境,耗費了不少時間,最後來個截圖紀念與一下吧。
[img]http://dl.iteye.com/upload/attachment/440273/41f843bd-5ba6-318e-b5c1-b15ec307e434.png[/img]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章