2016-05-15 525 views
0

我不明白爲什麼我可以在Tomcat中使用JSF,因爲在這一形象TOMCAT不接受JSF:Tomcat和Apache TOMEE

​​

我使用Tomcat 7,一切工作正常。我在pom.xml中添加了JSF的依賴關係。如果在Tomcat中使用JSF,使用TomEE有什麼優勢?

+0

該表只顯示服務器已經提供的庫,無需自己安裝。相關:http://stackoverflow.com/questions/7295096/what-exactly-is-java-ee和http://stackoverflow.com/tags/jsf/info – BalusC

+0

所以,唯一的區別是,我不需要將這個庫添加到pom.xml? TomEE已經提供給我了嗎? – RonaldoLanhellas

+0

在構建時您可能仍然需要依賴項,但在部署期間不需要。除非你想要一個不同於TomEE提供給你的版本。 –

回答

2

你有Tomcat,TomEE或Websphere等應用服務器。 那些提供了一組Java EE-Libs,如JSF,Servlets,JPA,JavaMail等。

如果您使用的是Tomcat,您仍然可以通過簡單地在應用程序中自己提供JSF-Lib來使用JSF。

使用Maven(pom.xml),您可以定義您的應用程序需要的內容,例如JSF或JPA,這些信息需要編譯。即使你使用像TomEE這樣的應用服務器,你仍然需要聲明你需要的東西,所以編譯工作。

唯一的區別是Maven依賴關係範圍 - 如果您使用Java EE應用程序服務器,則應使用範圍provided,因爲應用程序服務器具有您需要的所有庫。如果您只使用Tomcat,則需要(默認)作用域compile - 將庫包括到工件中(*.war-文件)。

如果您使用的是Application Server,請確保您的pom.xml中的版本與Application Server中使用的版本相匹配,否則可能發生,您編寫的程序爲JSF 2.2,但您的Server只支持2.0 。

+0

謝謝,現在我明白了。 – RonaldoLanhellas