Using a different JDK
The preferable way to use a different JDK is to use the toolchains mechanism (Guide to Using Toolchains).
ExecutionEnvironment
The executionEnvironment
profile is used to resolve dependencies and run Faktor-IPS. It must be at least JavaSE-11 and is pre configured. If neither jdkId
or jdkDir
is configured it is used as the default compile target and dependency for the Faktor-IPS projects.
JDK for compiling a Faktor-IPS project
Although a JDK 11 or newer is used to start the builder, a Faktor-IPS project might use an older Java version (at least Java 8) as its compile target and dependency. To compile such a project, that JDK must be passed to the build.
For example, use the JDK with the Id JavaSE-1.8
in your toolchains.xml.
<plugins> <plugin> <groupId>org.faktorips</groupId> <artifactId>faktorips-maven-plugin</artifactId> <configuration> <jdkId>JavaSE-1.8</jdkId> </configuration> <executions> <execution> <goals> <goal>faktorips-clean</goal> <goal>faktorips-build</goal> </goals> </execution> </executions> </plugin>
The other possibility is to use the directory directly in the jdkDir
parameter and therefore bypassing the toolchains mechanism.
<plugins> <plugin> <groupId>org.faktorips</groupId> <artifactId>faktorips-maven-plugin</artifactId> <configuration> <jdkDir>/usr/lib/jvm/java-8-openjdk-amd64/</jdkDir> </configuration> <executions> <execution> <goals> <goal>faktorips-clean</goal> <goal>faktorips-build</goal> </goals> </execution> </executions> </plugin>