On Windows you need a Java SE Development Kit (JDK). The Java Runtime Environment (JRE) is not enough because the Tomcat application server does not recognize it.
What is the difference?
- JRE is for users who run Java programs on their computer.
- JDK is for developers who write Java-based applications.
Download and install JDK. By default JDK is installed in C:\Program Files\Java\jdk-10.0.xx\
. You can choose another location.
Check JAVA_HOME environment variable
- Open the command prompt.
- Type
set
and press ENTER. - Find
JAVA_HOME
in the command output and verify that the path points to your JDK installation directory, for example C:\Program Files\Java\jdk-10.0.xx
. - If
JAVA_HOME
is missing or it points to the wrong directory, see Set JAVA_HOME environment variable below.
Set JAVA_HOME environment variable
- Right-click My Computer and select Properties.
- Go to the Advanced tab.
(In Windows 7+, right-click Computer and select Advanced System Settings, then Environment variables.) - If the
JAVA_HOME
environment variable does not exist in User variables or System variables, create it:
- User variables apply to the currently signed-in user only. Create
JAVA_HOME
here if you want it to apply only to the currently logged in user. These variables take precedence over system variables. - System variables apply to all users. Create
JAVA_HOME
here if you want it to apply to all users. You must be an administrator to modify a system environment variable.
- Set the value of
JAVA_HOME
to the path of your JDK installation directory, for example C:\Program Files\Java\jdk-10.0.xx
. - Optional step: Add the Magnolia
bin
directory to the PATH
variable, for example C:\Program Files\magnolia\apache-tomcat-x.y\bin
. Setting the PATH
allows you to issue the Magnolia start
and stop
commands from anywhere without navigating to the installation directory first. Separate the path from existing paths with a semicolon ( ; ). If you do this, you also need to add CATALINA_HOME
to environment variables. Set the value of CATALINA_HOME
to the Tomcat installation directory, for example C:\Program Files\magnolia\apache-tomcat-x.y
- Click OK.
- Go back to Check JAVA_HOME environment variable above and test that the variable is found and has the correct value. You need to open a new command prompt since environment variables are session specific.
Alternatively you can set JAVA_HOME with a batch file. Add this line to /apache-tomcat/bin/magnolia_control.bat
:
set JAVA_HOME=C:\Program Files\Java\jdk-10.0.xx
The set
command creates the JAVA_HOME
environment variable and sets its value to the JDK directory. The command is executed when Magnolia starts.