Search code examples
jakarta-eemigrationjavaapplication-server

What java runtime environment is used by an application server?


I have been working on Java SE for years and there were two things JRE and SDK to run a java application. Now I am moving to Java EE. I came to know that I need an application server in addition to above two elements i.e., SDK and JRE. However, when I visit download pages for Java EE, they only offer SDK and Application Server. Furthermore, on internet I read that I only need to install an Application Server following Java EE specifications? Is Java EE just specifications which is realized by an application server? Secondly, where is the JRE, is it inside the application server or Standard Edition's JRE will be used to run the distributed components?


Solution

  • Java EE is a set of specifications, yes. They tend to be realised by a Java EE server but there are a number of frameworks that implement parts of the complete EE specification.

    Enterprise servers are Java applications. They need a Java Runtime Environment to run. They usually also need access to javac, the Java compiler, in order to compile things like JSPs. This is why you will do well to run them on Java Development Kit, which is Java's SDK. The server will usually look for the runtime in usual install locations on the platform it's running. It also often use the environment variable JAVA_HOME to locate the JDK.

    If you will only use a specific subset of Java EE then it may well be useful to see if you can find a stand alone implementation for that part.