2010-10-14 14 views
5

Este es el contexto: acabo de desarrollar una aplicación que debe iniciarse en el modo SERVER (java -server). Estoy usando JSE SDK (JDK) y no tengo problemas para ejecutar la aplicación porque JDK tiene la VM del servidor. Ahora, intento crear un instalador para que las personas puedan instalar esta aplicación en sus computadoras. Pero en este punto me he dado cuenta de esto:Servidor VM necesario pero no disponible en JRE. Entonces, ¿qué paquete necesito: JRE, JDK?

El JRE que la mayoría de los usuarios han instalado (para ejecutar aplicaciones Java), no tiene la VM del servidor, por lo que mi aplicación no se ejecutará. Debido a esto, mi pregunta es:

  • ¿Hay alguna manera de agregar el Servidor VM al JRE ya instalado ???
  • Para aquellos usuarios que no tienen instalado java ... ¿qué paquete debería sugerir instalar? JDK o JRE?

Estoy un poco confundido ... no estoy seguro de qué paquetes tienen la máquina virtual del servidor o no.

+1

_por qué_ qué necesita la máquina virtual servidor? –

+0

Debido a que es una aplicación de servidor y el rendimiento será mejor – testk

Respuesta

3

Simplemente use el modo de cliente.

No encontrará una buena solución. Puede sugerir que todos instalen el JDK que tiene activado el modo de servidor, pero su aplicación debería tener una entrega más fluida que esa. Si estuviera entregando su aplicación a los chicos del servidor, podría decir fácilmente que debe ejecutarse en modo servidor y dejar que lo maneje.

El modo de servidor es una optimización para cambiar el tiempo de inicio de las mejoras de velocidad de larga duración. No debería ser requerido para ninguna aplicación, especialmente una que se va a entregar a las máquinas del cliente.

+0

Hay muchas optimizaciones que no se han transferido a la VM del cliente. Las aplicaciones del cliente ciertamente pueden beneficiarse de ellas. –

+0

El beneficio y el requisito son dos cosas diferentes. –

1

JRE privado vs. público: la instalación del JDK instala un Java SE Runtime Environment (JRE) privado y opcionalmente una copia pública. El JRE privado debe ejecutar las herramientas incluidas con el JDK. No tiene ninguna configuración de registro y está contenida por completo en un directorio jre (normalmente en C:\Program Files\jdk1.6.0\jre) cuya ubicación solo conoce el JDK. Por otro lado, el JRE público puede ser utilizado por otras aplicaciones Java, está contenido fuera del JDK (generalmente en C:\Program Files\Java\jre1.6.0), está registrado en el registro de Windows (en HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft), puede eliminarse mediante Agregar o quitar programas, podría o podría no estar registrado con los navegadores, y puede o no tener java.exe copiado en el directorio del sistema de Windows (lo que lo convierte en la plataforma Java del sistema predeterminada o no).

JDK Installation and troubleshoot.

6

Usted puede incluir opcionalmente el servidor de HotSpot VM con una copia del JRE redistribuido. El directorio 'jre \ bin \ server \' dentro del JRE privado para el JDK contiene la máquina virtual del servidor HotSpot. Se permite incluir esto en las distribuciones de JRE siempre que se cumplan los requisitos establecidos en JDK README.

Desde el README JDK 7:

En las plataformas Microsoft Windows, el JDK incluye tanto el Java VM HotSpotTM servidor y Java VM cliente HotSpotTM. Sin embargo, las plataformas JRE para Microsoft Windows solo incluyen Java VM del cliente HotSpotTM. Quienes deseen utilizar Java VM del servidor HotSpotTM con JRE pueden copiar la carpeta jre \ bin \ server del JDK en un directorio bin \ server en el JRE. Los proveedores de software pueden redistribuir la VM del servidor Java HotSpotTM con sus redistribuciones del JRE.

http://www.oracle.com/technetwork/java/javase/jdk-7-readme-429198.html#jre (Obtenido 22/09/2012)

Cuestiones relacionadas