O Java EE é efetivamente um conjunto de bibliotecas corporativas (em .jar
files) executadas no Java SE, geralmente em um servidor. Então, java -version
por si só diz "SE". Ele também diz "Servidor VM", que é ajustado para servidores em execução; mas é a VM padrão no Linux de 64 bits para tudo. (Você configura ou substitui a escolha da VM na inicialização. A VM não "sabe qual tipo" de aplicativo está sendo executado, por isso não escolhe para você.)
O Java EE vinculado instala o servidor Glassfish; esse pacote em particular tem seu próprio JDK - um antigo, na verdade. Então, onde quer que você o coloque, se você for para o diretório glassfish3/jdk7
e executar bin/java -version
, ele reportará java version "1.7.0_10"
, não _45
. Observe que o tempo de execução "core" está em jdk7/jre/lib/rt.jar
Os EE JARs estão em glassfish3/glassfish/modules
. Os principais têm nomes que começam com "javax", então você pode vê-los com find . -name 'javax*.jar'
Quando você executa um aplicativo no Glassfish, ele deve fazer a mágica do caminho de classe para disponibilizar esses JARs. Se você estiver usando um IDE, ele deve fazer algo semelhante para que você possa compilar seu código. Se você está programando manualmente, você precisa fazer isso sozinho.
Então, para responder a sua pergunta, não há "usando" EE sem usar o SE. E o único requisito real para usar o EE é ter seus JARs no classpath. O Eclipse deve ter um jeito de "apontar para o Glassfish" e fazer com que ele encontre tudo.
Nesse caso específico, você também deve remover o antigo _10
JDK. Em seguida, coloque seu _45
existente em seu lugar em glassfish3/jdk7
; ou faça quaisquer alterações necessárias no PATH, JAVA_HOME, glassfish3/glassfish/config/asenv.conf
, etc para executá-lo. Você não quer rodar acidentalmente um antigo JDK.