This project uses Apache Maven as the build tool. It is not required to install Apache Maven manually. When the project is built the first time using ./mvnw, the required version is automatically downloaded.
However, you need to have a Java Development Kit (JDK) installed in order to run Apache Maven. There is no special version required as long as Apache Maven can be executed with it. Having the latest LTS version is recommended.
For Linux, use your repository to install the JDK.
For Windows, use winget to install the JDK.
winget install Microsoft.OpenJDK.25
You need to make sure, your JAVA_HOME environment variable points to this JDK, so Apache Maven is using it for execution.
This project uses toolchains. Independently from which JDK is used to execute Apache Maven, always the correct target JDK is used for the build. For this, you need to configure the JDK in the file .m2/toolchains.xml in the home directory of the current user.
<?xml version="1.0" encoding="UTF-8"?>
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<id>JavaSE-25</id>
<version>25</version>
<vendor>openjdk</vendor>
</provides>
<configuration>
<jdkHome>[PATH_TO_JDK]</jdkHome>
</configuration>
</toolchain>
</toolchains>
This project is designed to use VS Code as the code editor. You may choose to use any other editor as well. The project can be built just with Apache Maven. Consider that some settings (e.g. formatting) are shared and provided by this code editor. This will simplify the cooperation within the team.
- Install VS Code.
- Choose File -> Open Workspace from File... and open
Tomato.code-workspace. - Install all automatically recommended extensions. An error concerning a missing JDK may occur, that can be ignored for now.
- In your settings, add the JDK configuration. This is the JDK used for running the Java extensions for VS Code and the mapping of
JavaSE-25to an actual JDK.
Add this to your user configuration:
"java.jdt.ls.java.home": "[PATH_TO_JDK]",
"java.home": "[PATH_TO_JDK]",
"java.configuration.runtimes": [
{
"name": "JavaSE-25",
"path": "[PATH_TO_JDK]"
}
],