---
id: requirements_java
title: Requirements
linkTitle: Requirements
weight: 2
keywords:
  - java
  - rest 
  - api
  - application
  - spring boot
  - swagger
  - settings
  - get started
---

== Requirements for running the API locally

.Windows
[%collapsible]
====

[discrete]
==== Mandatory

- https://cdn.azul.com/zulu/bin/zulu17.52.17-ca-jdk17.0.12-win_x64.zip[Install Java 17] and set JAVA_HOME environment variable to the directory java is installed and make sure MAVEN_HOME environment variable is not set

- https://aka.ms/cosmosdb-emulator[CosmosDB Emulator 2.4.5+]

- An IDE

[discrete]
==== Optional

- https://www.jetbrains.com/idea/download/#section=windows[IntelliJ IDEA]

====


.MacOS
[%collapsible]
====

[discrete]
==== Mandatory

- homebrew
- azure-cli: `brew install azure-cli`
- https://www.azul.com/downloads/?package=jdk#zulu[Install Java 17:]

----
$ wget https://cdn.azul.com/zulu/bin/zulu17.52.17-ca-jdk17.0.12-macosx_aarch64.tar.gz
----

- Move to the folder where you downloaded the file and extract it:

----
$ tar -xf zulu17.52.17-ca-jdk17.0.12-macosx_aarch64.tar.gz
----

- Add JAVA to your path:

----
export PATH=$PWD/zulu17.52.17-ca-jdk17.0.12/Contents/Home/bin:$PATH
----

- An IDE

- Make sure no environment variables set for MAVEN_HOME

- https://aka.ms/cosmosdb-emulator[CosmosDB Emulator 2.4.5+]

[discrete]
==== Optional

- Add this to the path to your dotfiles: .bash_profile or .zshrc depending on what shell you are running

- https://www.jetbrains.com/idea/download/download-thanks.html?platform=mac&code=IIC[IntelliJ IDEA]

[NOTE]
----
The current version of Ensono Stacks is using Java 17 (Current LTS, recommended).
----

====