2017-07-26 84 views
0

如果我只是運行的預構建的Java EE(服務器)應用程序,它在Java SE的JRE中運行,一發現這裏?:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.htmlJava EE是否在Java SE的JRE上運行?

+2

如果你有一個Java EE應用程序,你可能有一個.war或.ear文件,它需要一個Java EE應用程序容器。如果您有.jar,那麼您可能不會運行預構建的Java EE應用程序。無論哪種方式,所有東西都在Java SE附帶的Java JVM下運行。 –

+1

否 - 您將需要安裝基於Java的應用程序服務器,如Tomcat,JBoss或Glassfish – amphibient

+0

不,因爲EE是SE的超級集合。您需要一個支持Java EE和所有規範的應用程序服務器。 – MPhil

回答

3

你問兩個不同的問題:

不Java EE在Java SE的JRE上運行?

假設你的意思了Java EE規範(例如Glassfish的,JBoss的,Glassfish的中,WebSphere等)的實現,那麼答案是

所有這些都將在Java SE JRE上運行。事實上,您通常需要從您正在使用的Java EE實施中單獨下載JRE。

如果我只是運行預構建的Java EE(服務器)應用程序,它是否運行在Java SE的JRE上?

對此的回答是。該Web應用程序需要一個Web容器;例如Glassfish的,JBoss的,Glassfish的中,WebSphere等

web應用程序運行在一個Java EE Web容器和Java EE Web容器中運行一個JRE。


希望以上內容能幫助你理解爲什麼你問的兩個問題是不同的。

還應該說,並不是所有的Java EE實現都是「相等的」。其中一些(例如Tomcat)只實現了Java EE規範的一個子集。但是,典型的Web應用程序只需要Java EE的一個子集;例如Servlet,JSP和JSTL框架/實現。

0

問題是,爲什麼你會嘗試在沒有J2EE-Server的情況下運行JavaEE應用程序。 如果你想做模塊測試,有時候這個功能的一個子集足以運行應用程序的有限部分,包括h2-數據庫訪問,內存中的消息隊列,異步和定時器模擬,資源注入......以及一個基於JUnit的TestRunner。

ejb-cdi-unit