Maven2 (for AppFuse)新手入門

來源:互聯網
上載者:User
摘要:
本文討論了如何設定AppFuse所使用的Maven環境,並對Maven做了簡單介紹。
根據文章內容,可以看到本文涉及的主要是在Eclipse+Candy+maven2環境裡的設定—譯者
Maven2 (for AppFuse)新手 入門

標題:
[原創翻譯]Maven2 (for AppFuse)新手入門
[AppFuse 2.0文檔-7]

摘要:
本文討論了如何設定AppFuse所使用的Maven環境,並對Maven做了簡單介紹。
根據文章內容,可以看到本文涉及的主要是在Eclipse+Candy+maven2環境裡的設定—譯者

作者:Added by Nathan Anderson, last edited by Duncan Jauncey on Jul 10, 2007 06:04
翻譯者: 陳海青(josonchen)
(http://www.chq.name
)
(http://www.hhrz.org
)
日期:2007.10.30

英文版網址:http://appfuse.org/display/APF/
Maven+for+Newbies

中文版:

Maven入門

Added by Nathan Anderson, last edited by Duncan Jauncey on Jul 10, 2007 06:04
象我在AppFuse 1.9.x的使用過程中積累經驗一樣,本頁也是有意來記錄我在使用Maven和AppFuse 2.x使用過程中的經驗,並逐漸過渡到web應用的開發。
下面是關於我的一點介紹. 我是 Sum-Ware公司的開發主管,這就意味著我要確保其他的開發人員和網管人員有事做,同時我要去填補工作中的空白.

才用兩種不同的途徑學習AppFuse 2.x. 在工作時,我使用Windows+ Sun Java 1.6 + Eclipse
3.2的環境,開發"appfuse-basic-struts" 結構的項目. 在家裡,我開發另一個項目,使用Ubuntu +Sun Java
1.6 +Eclipse 3.2的環境 (這個項目也許要切換到IDEA—誰知道呢).
這個項目是基於"appfuse-modular-struts" 架構的.
我喜歡用Struts 2(至少目前如此)是因為我覺得它較簡單。我在學習過程中喜歡將變化的各類因素限制在自己能掌控的範圍內。
Targets 與 Goals

 
  * 我注意到的第一件事是maven 的"goals"與ant的"targets"的異同。 Goals
非常酷,因為它們是通用的,可用於所有的maven項目, 但是targets更容易描述,因為他們僅存在於build.xml 檔案中
(或多或少). 在Maven 2 這篇文章裡有一張很不錯的關於常用的goals及其應用的列表.
    * 即時在最初還不太會使用Maven 時,我也要說它是非常容易入門
的. 一旦完成了前期安裝 (做起來並不困難), 我在10分鐘之內就讓AppFuse運行起來了,並且其中的大部分時間是用在maven下載依賴檔案上(喝咖啡的時間
).

整合IDE

    * 整合AppFuse2
.x後,Eclipse工作地很好,然而我還是遇到一些麻煩事:
          o 在建立我的POJO時,我不得不花費時間清理項目,以便使Eclipse 能夠識別annotations
          o 但我為項目運行命令建立M2_REPO 等時,命令也運行了,我也在項目裡看到了羅列的依賴的JAR包,但就是無法解決上述的關於annotation 的問題.
          o 最後,我不得不手工添加了M2_REPO 環境變數,然後一切正常了.
    * 我沒在IDEA 上使用AppFuse 2.x ,但我聽說比在Eclipse上要好.

下載依賴包(Dependency)

    * 這個過程很酷同時又有些怪異.,下載時我看到了maven報告了大量的警告或錯誤資訊,但奇怪的是,一切均運行良好,以下是一些輸出資訊的例子:

·           [INFO] Wrote settings to /home/nathan/src/fetch-calendar/web/.settings/org.eclipse.jdt.core.prefs
·           [INFO] Wrote Eclipse project for"fetch-calendar-webapp" to /home/nathan/src/fetch-calendar/web.
·           [INFO]
·                  Sources for some artifacts are not available.
·                  List of artifacts without a source archive:
·                    o org.apache.struts:struts2-core:2.0.6
·                    o commons-fileupload:commons-fileupload:1.1.1
·                    o opensymphony:clickstream:1.0.2
·                    o org.apache.struts:struts2-spring-plugin:2.0.6
·                    o velocity-tools:velocity-tools-view:1.0
·                    o javax.servlet:jsp-api:2.0
·                    o org.apache.struts:struts2-codebehind-plugin:2.0.6
·                    o freemarker:freemarker:2.3.8
·                    o org.tuckey:urlrewrite:2.5.2
·            
·           [INFO]
·           [INFO]
·           [INFO] ------------------------------------------------------------------------
·           [INFO] Reactor Summary:
·           [INFO] ------------------------------------------------------------------------
·           [INFO] AppFuse Modular Application ........................... SUCCESS [6.338s]
·           [INFO] AppFuse Modular Application - Core .................... SUCCESS [57.907s]
·           [INFO] AppFuse Modular Application - Web (Struts 2) .......... SUCCESS [2:20.721s]
·           [INFO] ------------------------------------------------------------------------
·           [INFO] ------------------------------------------------------------------------
·           [INFO] BUILD SUCCESSFUL
·           [INFO] ------------------------------------------------------------------------
·           [INFO] Total time: 3 minutes 27 seconds
·           [INFO] Finished at: Tue Apr 03 22:05:12 PDT 2007
·           [INFO] Final Memory: 48M/63M
[INFO] ------------------------------------------------------------------------
怎麼會struts2-core 下載失敗呢, 然而我在運行"mvn jetty:run-war"卻一些正常? 不知該如何是好了...
好吧... 我沒話說了.我覺得可能是無法取得源碼包,但我的運行包的確是已經正確下載了. 也許有人能看到這些並能避免出現類似問題
新項目產生了
我相信自動產生新項目裡的App.java 和AppTest.java (以及modular archtypes裡的Core.java) 確有其用,但我卻不知道其用途,有人能幫我解答嗎?
Maven 的 HTTP Proxy 伺服器設定

果你的區域網路使用HTTP Proxy 伺服器上網 (注意,並不是Maven倉庫代理(repository
proxy),二者是有區別的),在運行maven是會看到錯誤資訊:'Error transferring file'.
解決辦法是,找到你的Proxy 伺服器的地址和連接埠,加到命令裡,格式為: -DproxySet=true
-DproxyHost=<你的Proxy 伺服器主機地址> -DproxyPort=<代理服務的連接埠>
注意:如果你嘗試了數次均串連失敗, 那麼maven中心倉庫就會被自動列到黑名單中,使用-U 命令列參數可以進行強制串連.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.