首先建立一個空的應用程序。Tapestry提供了一個Maven原型(archetype,一種項目模板)來簡化操做。html
針對本教程,咱們使用了一個乾淨的Eclipse版本安裝,還有一個位於/users/joeuser/workspace的工做空間(workspace)。對於其它的操做系統或者本地路徑,你能夠須要調整一些東西。web
在Eclipse中,咱們會使用一個Maven原型來建立Tapestry項目的骨架。apache
若是有防火牆或者代理,在執行Maven的下載以前,你可能須要在Maven的settings.xml文件(通常位於主目錄的.m2子文件夾中,~/m2或者C:\users\joeuser\.m2)中配置一下你的代理設置。下面是一個示例:瀏覽器
Settings.xml緩存
<settings>佈局
<proxies>ui
<proxy>spa
<active>true</active>操作系統
<protocol>http</protocol>代理
<host>myProxyServer.com</host>
<port>8080</port>
<username>joeuser</username>
<password>myPassword</password>
<nonProxyHosts></nonProxyHosts>
</proxy>
</proxies>
<localRepository>C:/Users/joeuser/.m2/repository</localRepository>
</settings>
固然,也要將 localRepository 對應調整成你的計算機上的正確路徑。
好了,讓咱們來開始建立新項目。
在Eclipse中,一路選擇 File > New > Project... > Maven > Maven Project
而後點擊Next,在Next,而後在 Select an Archetype 頁面的目錄行上點擊Configure按鈕。Archetype選項對話框就會出現。點擊 Add Remote Catalog...按鈕,以下所示:
、
如上所示,在Catalog File輸入框中輸入「http://tapestry.apache.org」,而Description中輸入「Apache Tapestry」。
若是你想嘗試一下尚未正式發佈的Tapestry版本(alpha或者beta),就使用 https://repository.apache.org/content/repositories/staging 這個原型目錄文件。
點擊OK,而後再OK。
在以下所示的Select an Archetype對話框中,選擇剛剛新加的 Apache Tapestry 目錄,而後從列表中選擇 「quickstart」原型並點擊Next。
注意:本教程中的截屏跟你在其它(或新或舊)版本的Tapestry中所看到的會不同。
填入Group Id,Artifact Id, Version 和 Package,以下所示:
而後點擊Finish。
在你第一次使用Maven時,由於Maven要下載大量Maven,Jetty以及Tapestry的JAR包依賴,因此要花上必定的時間。這些下載好的文件會被緩存到本地,沒必要被再下載一次,而你在第一次使用時必須耐心一點。
Maven這塊完了之後,你就會看到一個新的目錄,tutorial1,就在Eclipse的Package Explorer 視圖中。
你能夠作的第一件事情之一就是直接使用Maven來運行Jetty。
在Package Explorer視圖中的tutorial1項目上右鍵選擇 Run As > Maven Build... > ,輸入一個Goal 「jetty:run」。這樣就會建立一個叫作「tutorial1」的「Run Configuration」,而咱們將會在整個教程裏使用它來啓動應用:
附帶幾個選項,Tapestry運行起來會更好;點擊「JRE」的Tab頁,並輸入以下JVM參數:
-XX:MaxPermSize=256M
-Xmx600m
-Dtapestry.execution-mode=development
(若是你使用的是 JDK1.8,那就應該吧 MaxPermSize 參數省略掉。)
看起來像下面這樣:
最後,點擊Run。
首次運行,會再一次下載進行許多的下載,令你有點眼花繚亂,不過在你明白過來以前,Jetty 的 servlet 容器已經啓動並運行起來了。
Jetty一初始化完成(第一次事後就只要花幾秒鐘了),以下將會是你在控制檯所看到的:
注意上圖中的紅色方塊圖標按鈕。稍後你會在重啓應用以前先用這個按鈕停掉Jetty。
如今,你能夠打開網頁瀏覽器,導航至 http://localhost:8080/tutorial1/ 來查看運行中的應用程序。
注意:使用的Tapestry版本不一樣,你在屏幕上所看到的會很不同。
頁面中央所顯示的日期和時間代表這是一個動態的應用程序。
這是一個完整的小型web應用。並無多少東西,不過演示瞭如何建立許多頁面都能共享的公共佈局,還演示了一些簡單的導航和連接處理。你能看到幾個共享一個公共佈局的不一樣頁面。(佈局Layout是一個鬆散的術語,意思是應用程序許多或者全部的頁面彼此都有共同的視覺觀感。應用程序經常會包含一個佈局組件來提供這種共性。)
接下來是:探索項目結構