<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    City of Dream

    實踐出真知

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      2 隨筆 :: 1 文章 :: 35 評論 :: 0 Trackbacks
    Appfuse是一個融合當前各種框架的web應用最佳實踐。從名字可以看出:App=框架應用,fuse=熔合。

    Appfuse涉及的東西較多,也大都有實用價值。這系列文會一一道來,一是分享,二是為了自己記憶得更加深刻。我覺得,任何東西說開了都很簡單。所以會盡量用簡單直白,使自己能看懂的敘述方式說出來。

    如有錯誤,希望大家本著共享的精神指出。謝謝!(轉載請保留:shenleimail@vip.qq.com

    安裝部署篇:

    Appfuse的最新版本是2.0.1,基于maven管理并發布的。因此,在安裝Appfuse之前,我們需要了解maven的一些基礎知識。

    maven的核心是對POM(Project Object Model)項目對象模型的管理。就我的理解來看,項目對象模型應該包括了依賴項(所需外部jar包)、source、resource等項目相關的對象,maven用一個生命周期的概念對它們進行管理。所以在maven的命令里面包含了發布、生成、清理、運行、刪除等命令。而依賴項并不是一個項目所獨有的,可能有多個項目用到同一個jar包。因此在maven的概念中依賴項又和POM互相獨立。如圖:


    此主題相關圖片如下:


    理解了maven的生命周期管理,再去看它的命令和操作,都是和相應的生命期對應的。其中有一些通過插件方式實現,比如用jetty運行Appfuse,命令為:mvn jetty:run-war

    下面只介紹和Appfuse安裝相關的maven操作:

    1、下載并解壓maven最新版,不得低于2.0.6(假設路徑為:E:\soft\maven);

    2、設置環境變量:M2_HOME=E:\soft\maven,將%M2_HOME%/bin加入PATH中;

    3、dos模式下輸入mvn -version,能看到正確的版本信息為止(可能需要重啟);

    安裝好maven之后,需要建立本地依賴項庫。到[url=https://appfuse.dev.java.net/servlets/ProjectDocumentList?folderID=8417&expandFolder=8417&folderID=0]https://appfuse.dev.java.net/servlets/ProjectDocumentList?folderID=8417&expandFolder=8417&folderID=0[/url]下載[url=https://appfuse.dev.java.net/files/documents/1397/77087/appfuse-dependencies-2.0.1-with-source-and-javadoc.zip]Dependencies (with source and javadoc)[/url] 142.83M,解壓到某個地方。

    到E:\soft\maven\conf中打開setting.xml文件,在<settings>節點下加入<localRepository>你解壓的路徑</localRepository>。

    到此為止,準備工作已完成。

    新建一個目錄,準備安放Appfuse項目工程。例如為:D:\Project\appfuse2.0.1

    在dos模式下進入此目錄,確保在線的情況下運行如下命令(這里以Spring MVC Basic為例,如要其他類型,請參考Appfuse官方文檔):

    mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-spring -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.1 -DgroupId=com.webstudio.app -DartifactId=appfuse-spring

    com.webstudio.app及appfuse-spring這兩個變量是可以修改的。com.webstudio.app表示項目根路徑,appfuse-spring表示項目名稱及新建的文件夾名稱。

    運行過程中,會看到一系列的waring警告,不用管。等看到:Builde Success,表示成功了。maven會在D:\Project\appfuse2.0.1下新建appfuse-spring目錄,里面含有最重要的pom.xml文件。

    修改pom.xml,在最下面有數據庫的配置。若你是mysql數據庫,則很簡單,只需修改用戶名和密碼(默認為root和空)。若是其他數據庫,請參照pom.xml里面的數據庫配置文件進行替換修改。

    修改好之后,在dos模式下進入D:\Project\appfuse2.0.1\appfuse-spring,運行mvn appfuse:full-source。這也是個很快的過程。

    之后,在相同的路徑下執行:mvn jetty:run-war。jetty是一個jsp容器(類似Tomacat),以jar包的形式跟隨項目發布,方便部署。此命令會打包生成appfuse-spring-1.0-SNAPSHOT.war并測試發布,在測試時會有一些異常信息。不用理會,只是一些測試數據沒有準備好。

    等到一切就緒(出現[INFO] Starting scanner at interval of 3 seconds.),打開你的瀏覽器,輸入http://locathost:8080。如果看到Appfuse的登錄頁面,那么恭喜你,你已經順利的安裝了Appfuse。maven是個不錯的工具,但我們不能用maven來做所有事。軟件需要部署到IDE上才有更好的開發效率,maven可以充當IDE的一個輔助工具。目前來看,我更傾向用maven管理依賴項,用IDE管理軟件生命周期。

    eclipse和netbeans都是不錯的IDE,但遺憾的是,他們的maven插件機制還有所欠缺。從表面來看,netbeans要比eclipse做得更好,因為它可以直接建立maven項目,也可以在命令中使用maven插件機制build項目(“run”始終有點問題)。但從實際來說,我更傾向eclipse的方式,只讓maven管理依賴項,生命周期還是交給IDE更加方便。

    appfuse官網上關于如何使用IDE部署和調試項目語焉不詳,只是建議以mvn jetty:run-war的方式發布。這是脫離項目實際的,很多人都習慣了在IDE中編輯和調試項目。文檔中關于appfuse在eclipse的部署實踐不甚令人滿意,我們需要重新動手解決這一切。

    我的環境是:eclipse+myeclipse+tomcat6

    首先,用maven的方式。在項目路徑下運行:mvn eclipse:eclipse建立適合eclipse環境的工程。

    在eclipse中導入項目,運行一次mvn jetty:run-war并確保項目已正常運行,這樣會在target目錄下生成部署需要的文件夾和war包。

    選擇項目屬性,在“java build path”——“source”中去掉“src/main/webapp”文件夾。

    在文件夾中打開項目路徑下的appfuse-spring-1.0-SNAPSHOT目錄,將WEB-INF/classes下的所有資源文件拷貝并覆蓋到src/main/resources下,并將WEB-INF/lib復制到src/main/webapp/WEB-INF/lib中。

    用myeclipse的“add myeclipse web capabilities”命令建立web模塊。路徑指引到src/main/webapp中。在項目下新建目錄webapp,采用link folder的方式鏈接到src/main/webapp。這樣可以讓webapp在最上層,方便編輯。

    用myeclipse將webapp發布到tomcat中,還需要注意一個問題,不能把所有依賴jar包都發布,否則會引起包沖突。在這里選擇項目屬性——Myeclise——Web——Deployment——Libirary Deployment Policies中去掉所有勾。

    現在eclipse中運行tomcat,不出意外就順利部署成功了。這種方式保留了采用maven發布和在eclipse中發布兩種方式,在激活eclipse的maven插件后,也能用maven來管理依賴項。

    對于netbaens,個人建議采用普通的web應用方式部署,將剛才在eclipse中部署好的文件一一對應拷貝過去即可。不建議用netbeans的maven插件進行部署,因為那實在不大好用。

    安裝部署篇就到這里,下一篇正式進入Appfuse的世界。

    ........to be continue
    posted on 2008-02-29 12:44 蕭少英 閱讀(680) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 日批视频网址免费观看| 国产99精品一区二区三区免费| 男女作爱在线播放免费网站| 亚洲国产成人久久综合野外| 看成年女人免费午夜视频| 手机在线毛片免费播放| 香蕉大伊亚洲人在线观看| 三年片在线观看免费观看高清电影| 亚洲永久在线观看| 免费高清在线爱做视频| 国产精品亚洲综合一区在线观看| www.91亚洲| 中文无码成人免费视频在线观看 | 亚洲免费精彩视频在线观看| 亚洲AV永久精品爱情岛论坛| 91精品国产免费入口| 亚洲欧洲另类春色校园网站| 日韩免费无砖专区2020狼| 免费国产黄网站在线看| 在线观看国产区亚洲一区成人 | 中文字幕精品亚洲无线码一区应用| 国精产品一区一区三区免费视频| 亚洲VA中文字幕无码毛片 | 国产免费131美女视频| 久久九九免费高清视频| 亚洲欧洲日韩不卡| 欧美日韩国产免费一区二区三区| 日韩欧美亚洲国产精品字幕久久久 | 精品一区二区三区无码免费视频| 亚洲依依成人精品| 免费A级毛片无码A| 久久精品成人免费网站| 亚洲欧洲无码一区二区三区| 亚洲综合亚洲综合网成人| 中文字幕免费视频| 免费国产在线精品一区| 亚洲人成网网址在线看| 亚洲精品国产综合久久一线| 96免费精品视频在线观看| 国产成人亚洲精品电影| 久久精品a亚洲国产v高清不卡 |