2012-08-13 80 views
2

我正在清理使用Jetty的產品的構建系統。目前該項目有javax.servlet.jsp和jsp-api-2.1:org.mortbay.jetty:jsp-api-2.1:6.1.5有什麼區別?

javax.servlet.jsp:jsp-api:2.1 

作爲依賴項。鑑於我使用碼頭爲我的項目,我懷疑使用

org.mortbay.jetty:jsp-api-2.1:6.1.5 

將是更好的選擇。我是對/錯?它們可以互換使用嗎? jsp-api-2.1是否利用不同的實現?或者它只是一個重新包裝,如果jsp-api斷言與Jetty的兼容性?

我一直在試圖在網上找到關於這方面的信息,到目前爲止還沒有出現。

更新:看起來像org.mortbay.jetty:servlet-api-2.5:6.1.5javax.servlet.jsp:servlet-api:2.1有相同的關係。

回答

3

Jetty具有jsp的悠久豐富的歷史,沒有我們自己的jsp實現,我們經常利用其他實現,根據版本號來判斷,看看那些是非常舊的版本,我們在其上維護補丁glassfish jsp的實現。我認爲這是一個補丁,用於支持碼頭的日誌記錄,然後是一個錯誤修復或三個錯誤修復。

現在有一天,我們一直在使用java.net項目中的jsp構件,這個項目是從glassfish中分離出來的。但是,這似乎並沒有非常規律地跟蹤bug修復,所以我們正在嘗試使用tomcat中的jasper實現。

回到你的問題,jsp-api工件通常只是重新打包的工件,因爲api不會頻繁更改。我們歷史上已將他們重新捆綁,以使其與補丁實施配對。

現在,您明顯在使用jetty-6設置,因爲您仍然使用org.mortbay包裝,但jetty6和jetty7都是servlet-api 2.5,所以您可能可以使用jetty7 jsp設置脫身,一個方便的POM,在這裏聲明,這些文物:

http://central.maven.org/maven2/org/eclipse/jetty/jetty-jsp/7.6.5.v20120716/jetty-jsp-7.6.5.v20120716.pom

這些都是爲好,重新包裝並製作成的過程中OSGi包,以便他們能夠在碼頭OSGi的環境中使用的GlassFish捆綁....他們應該正常工作,但我們將它們打包在我們的jetty7發行版中。

+0

非常感謝您花時間回答這個問題! – Ztyx 2012-08-14 13:41:08