Child pages
  • Java Environment Variables (2.8)

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen

Several environment variables and related properties must be set for Java. For UNIX operating systems one typically modifies a startup file like ~/.bash_login to set and export shell variables while Mac users typically set and export environment variables in .bash_profile. For Windows, go to Start -> Control Panel -> System -> Advanced -> Environment Variables and set JAVA_HOME via the GUI.

Set the JAVA_HOME environment variable to point to the base directory of your Java installation and add Java's /bin directory to the PATH environment variable.

(info) If the variable JRE_HOME is already set or if you want to use a particular JRE if you have more than one JRE installed on your machine then you'll want to set the JRE_HOME variable as well. JRE_HOME is what Apache Tomcat uses when it starts up, but it defaults to use JAVA_HOME if JRE_HOME is not set. In most cases, setting JAVA_HOME should cover both cases sufficiently.

Variable

Unix

Mac

Windows

JAVA_HOME

export JAVA_HOME=/usr/java/java-current

export JAVA_HOME=/Library/Java/Home

JAVA_HOME=C:\jdk1.6.0_24

PATH

export PATH=$PATH:$JAVA_HOME/bin/

export PATH=$PATH:$JAVA_HOME/bin/

;C:\jdk1.6.0_24\bin

(warning) Windows: append the string to the end of the Path system variable

Set JAVA_OPTS

The default Java virtual machine (JVM) settings are insufficient for an application of Sakai's size. As a result several JVM parameters must be increased for Sakai to run, while others may need to be adjusted for optimal performance. At a minimum add the following property settings to your JAVA_OPTS environment variable.

(tick) We recommend that you define these settings in Tomcat's /bin directory in a file named setenv.sh (Unix/Mac) or setenv.bat (Windows). See the Tomcat section below for more details.

Unix/Mac:

No Format
export JAVA_OPTS='-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:NewSize=192m -XX:MaxNewSize=384m -Djava.awt.headless=true -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true'

Windows:

No Format
set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:NewSize=192m -XX:MaxNewSize=384m -Djava.awt.headless=true -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true

(minus) Additional required settings

Certain JSF tools (chat, portfolios, test & quizzes) do not compile properly in Java 1.6. The workaround requires adding the system property allowArraySyntax in order to avoid deserialization bottlenecks in arrays (see

Jira
SAK-17578
SAK-17578
). Second, Tomcat 5.5.27+ enforces strict quote escaping, a change in *.jsp handling that has yet to be addressed in certain tools such as portfolios (see
Jira
SAK-15736
SAK-15736
). Finally, specify an HTTP user agent other than "Java/xxxxx" in order to resolve Google and other RSS feeds (see
Jira
SAK-10159
SAK-10159
,
Jira
SAK-13353
SAK-13353
and
Jira
SAK-18044
SAK-18044
).

No Format
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
-Dhttp.agent=Sakai

Specify a Language and Locale (optional)

You can define the default language/locale when starting Sakai by setting the system properties -Duser.language and -Duser.region. For information on supported languages see the release notes or visit the i18N Work Group space.

No Format
-Duser.language=pt 
-Duser.region=PT

Specify an HTTP Proxy (optional)

In environments where local network policy or firewalls require use of an upstream HTTP proxy/cache, Sakai needs to be configured accordingly. Otherwise components or services which use HTTP requests, such as the BasicNewsService for RSS feeds in the News tool, cannot retrieve data from the target URLs. This can be fixed with the following JAVA_OPTS arguments:

No Format
-Dhttp.proxyHost=cache.some.domain 
-Dhttp.proxyPort=8080
Sv translation
languagees

Se deben definir algunas de las variables de entorno y propiedades relacionadas para Java. En los sistemas operativos UNIX normalmente se modifica el fichero de arranque como ~/.bash_login para configurar y exportar las variables mientras que los usuarios de Mac típicamente realizan esto mismo en .bash_profile. Para Windows, se va a  Inicio -> Panel de Control -> Sistema -> Avanzado -> Variables de Entorno y se configura JAVA_HOME mediante la Interfaz de Usuario.

Hay que configurar la variable de entorno JAVA_HOME para apuntar al directorio base de nuestra instalación Java y añadir el directorio /bin  de Java a la variable de entorno PATH .

(info) Si la variable JRE_HOME ya está configurada o deseas usar un JRE diferente en el caso de tener varios JRE instalados en tu máquina, entonces tendrás que configurar la variable JRE_HOME también. JRE_HOME es lo que Apache Tomcat usa cuando arranca, pero por defecto usa JAVA_HOME si JRE_HOME no está configurada. En la mayoría de los casos, configurar JAVA_HOME debería ser suficiente.

Variable

Unix

Mac

Windows

JAVA_HOME

export JAVA_HOME=/usr/java/java-current

export JAVA_HOME=/Library/Java/Home

JAVA_HOME=C:\jdk1.6.0_24

PATH

export PATH=$PATH:$JAVA_HOME/bin/

export PATH=$PATH:$JAVA_HOME/bin/

;C:\jdk1.6.0_24\bin

(warning) Windows: añadir esa cadena al final del la variable de sistema Path

Configurar JAVA_OPTS

Los ajustes de la máquina virtual de Java (JVM) por defecto   no son suficientes para una aplicación de tamaño de Sakai. Como resultado varios parámetros de la JVM deben aumentarse para que Sakai pueda funcionar, mientras que otros pueden necesitar ser ajustados para un rendimiento óptimo. Como mínimo, agregue los siguientes valores a la variable de entorno JAVA_OPTS.

(tick) Recomendamos que defina estas configuraciones en el directorio /bin del Tomcat en un fichero llamado setenv.sh (Unix/Mac) o setenv.bat (Windows). Ver la sección de Tomcat más abajo para más detalles

Unix/Mac:

No Format
export JAVA_OPTS='-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:NewSize=192m -XX:MaxNewSize=384m -Djava.awt.headless=true -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true'

Windows:

No Format
set JAVA_OPTS=-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:NewSize=192m -XX:MaxNewSize=384m -Djava.awt.headless=true -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true

(minus) Configuraciones adicionales necesarias

Ciertas herramientas que usan JSF (chat, portfolios, exámenes -test & quizzes) no compilan adecuadamente en Java 1.6. Para solucionarlo hay que añadir al sistema la propiedad allowArraySyntax ipara evitar los cuellos de botella de en los arrays (ver

Jira
SAK-17578
SAK-17578
). Además, Tomcat 5.5.27+ obliga a escapar las comillas, un cambio en *.jsp que aún no ha sido realizado en ciertas herramientas como portfolios (ver
Jira
SAK-15736
SAK-15736
). Finalmente, es necesario especificar otro "HTTP user agent" que no sea "Java/xxxxx" para Google y otros feeds RSS  (ver
Jira
SAK-10159
SAK-10159
,
Jira
SAK-13353
SAK-13353
y
Jira
SAK-18044
SAK-18044
).

No Format
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
-Dhttp.agent=Sakai

Especificar un Lenguaje y un Locale (opcional)

Se puede definir el "laguage/locale" por defecto cuando Sakai arranca mediante las propiedades del sistema -Duser.language y -Duser.region. Para más información sobre los lenguajes soportados, por favor revisa las notas de la versión o visita el espacio del grupo de trabajo de i18N.

No Format
-Duser.language=pt 
-Duser.region=PT

Especificar un Proxy HTTP  (opcional)

En entornos donde las políticas de red local o los firewalls requieran el uso de "upstream HTTP proxy/cache", Sakai se tiene que configurar adecuadamente. De otro modo, algunos componentes o servicios que usan peticiones HTTP, como el BasicNewsService para los feeds RSS en las Noticias, no podrían recibir datos de la URL destino. Esto de puede arreglar con las siguientes opciones en JAVA_OPTS:

No Format
-Dhttp.proxyHost=cache.some.domain 
-Dhttp.proxyPort=8080