2017-08-25 47 views
3

由於我從一些Maven教程中學習,我們可以像這樣將Maven插件導入爲Maven插件。
Maven中Jetty插件的企業用途是什麼?

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.10</version> 
    <configuration> 
    <scanIntervalSeconds>5</scanIntervalSeconds> 
    </configuration> 
</plugin> 

,可以運行這樣的插件。

$ mvn jetty:run 

此外,我們可以更改此插件中的端口和上下文路徑以及很多東西。
據我瞭解,我們可以使用Jetty作爲像tomcat這樣的服務器,我們可以通過它部署應用程序。

但我不明白的是在maven中實際的企業使用Jetty是什麼。

+2

它允許開發人員輕鬆生成測試環境來部署Maven項目。 –

+0

@LucianovanderVeekens謝謝。你能解釋更多嗎? –

+1

[Jetty 6 is EOL(End of Life)](https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00069.html),請考慮升級。 –

回答

1

我不確定你的意思是企業使用,但假設你正在開發一個web應用程序,它是一個Maven項目。

每次要測試Web應用程序是否正常工作時,都需要在Web服務器上部署Web存檔(WAR),例如,碼頭或雄貓。通常這包括像情侶的手動步驟:

  1. 啓動Web服務器
  2. 部署其上的WAR

凡Maven插件就派上用場的是,它可以讓你只執行

mvn jetty:run-war 

它在一個命令中爲您自動執行所有這些步驟,爲您節省大量時間。一旦通知發生變化,該插件甚至可以重新部署應用程序。

+0

謝謝你的明確解釋.. –

1

主要用於測試,Jetty也可以以編程方式啓動(請參閱此example Java代碼),這意味着您可以直接從代碼啓動服務器並與您的REST API進行交互。

您還可以使用它來更輕鬆地部署小應用程序,只需將所有內容打包到通過java -jar your-app.jar執行時從main方法運行服務器的JAR中。那麼除了Java之外,您不需要安裝任何依賴項。作爲一個便箋,我目前在Clojure(基於Lisp的JVM語言)工作,很多人將他們的應用程序部署爲內部運行嵌入式Jetty的JAR,因爲這樣它也會啓動REPL,您可以遠程連接並調試應用程序在運行時。

+0

哇。非常感謝。 –

+0

'jetty-maven-plugin'主要用於測試,而不是整個Jetty。 –

+0

爲什麼你引用我的文章的第一句話?是的,我還提供了更廣泛的圖片,我沒有看到任何問題 - 因爲這是Jetty Maven插件在內部執行的,因此稱爲Jettys API –

2

official documentation

碼頭Maven插件是快速開發和測試非常有用。您可以將其添加到根據Maven默認設置構建的任何Web應用程序項目中。然後插件可以定期掃描您的項目以進行更改,並在發現任何Web應用程序時自動重新部署Web應用程序。通過消除構建和部署步驟,這使得開發週期更加高效:使用IDE對項目進行更改,正在運行的Web容器自動將其拾取,讓您可以立即對其進行測試。

但是(也許這個地址就是你所謂的「企業應用」):

而碼頭Maven插件可用於開發非常有用的,我們不建議在產能使用它。爲了讓插件工作,它需要利用許多內部Maven API和Maven本身,而不是生產部署工具。我們推薦使用傳統的分佈式部署方法或使用嵌入式Jetty。

+0

非常感謝。 –