2010-11-15 72 views
5

我正在嘗試關注Tapestry的教程。 (http://tapestry.apache.org/tapestry5.1/tutorial1/env.html)本教程推薦使用Jetty 5.1,以便我可以使用名爲JettyLauncher的插件從Eclipse內部運行Jetty應用程序。但現在,Jetty在我認爲的第7版中。我不想從一個過時的Web服務器開始。 Jetty 7是否有任何類似於我認爲Jetty 5.1 + Jetty Launcher應該做的eclipse插件?在Eclipse中設置Jetty

感謝

編輯: 我試圖運行碼頭運行和m2eclipse的。我們將看到這是如何工作的

回答

5

你可以去窗口 - >首選項 - >服務器 - >運行環境,並選擇添加一個新的服務器環境。 在下面的對話框中,您可以下載「附加服務器適配器」。你可以選擇Jetti適配器。這樣,您可以按照WTP文檔中的說明配置和使用jetty(即,您可以在服務器視圖中配置新的jetty實例並從此處開始停止同步)。

+0

我相當確信cerealk引用的額外的Jetty適配器不支持Jetty 7 ...我可能是錯的,但我認爲我已經遇到了這個問題。 – delfuego 2010-11-16 02:43:55

+0

我看到的唯一適配器是Jetty 6.由Mortbay Software提供。 – 2013-03-21 09:54:20

+0

這似乎不再適用於Eclipse霓虹燈。 – 2017-06-06 02:01:24

4

通過m2eclipse(jetty:run)運行Jetty非常有效。另一方面,我使用Jetty的首選方式是以嵌入模式啓動(即以編程方式啓動它)。這段代碼適用於Jetty 6,包括調試。我沒有在Jetty 7中進行測試,但我猜測它可以很容易地適用於7:

Server server = new Server(8080); 

WebAppContext webapp = new WebAppContext(); 
webapp.setParentLoaderPriority(true); 
webapp.setContextPath("/"); 
webapp.setWar("src/main/webapp"); 
server.setHandler(webapp); 
try { 
    server.start(); 
    server.join(); 
} 
catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

你能解釋一下如何將它集成到Eclipse中嗎? – 2013-03-21 09:56:23

1

或者您可以使用Maven!在pom.xml中添加Jetty插件!

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.9</version> 
    <configuration> 
    <requestLog implementation="org.mortbay.jetty.NCSARequestLog"> 
     <append>true</append> 
    </requestLog> 
    </configuration> 
</plugin> 

並在運行配置窗口中,添加一個條目到Maven Build! 你只需要 - 選擇一個名稱爲您的新命令 - 選擇你的項目 - 中提出的目標,寫-Djetty.port = 8900碼頭:運行

所以,當你使用這個命令來運行,你的應用程序將在此地址提供:http://localhost:8900