Build with IntelliJ IDEA
Assumptions
- You have fulfilled all the dev pre-requisites.
- Source code is located in
~/Asqatasun(i.e. you made yourgit clonefrom your$HOME).
Import project
In IntelliJ, choose File > New > Project from existing sources....
Then you need to import project from external model, and choose Maven.

If you don’t do that, you won’t be able to build/run Asqatasun.
Configure JDK
(That might sound stupid as you do already have a JDK, but we want to ensure you have the correct one, with the correct configuration :) )
- Go to
File>Project Structureor doCTRL+ALT+SHIFT+S - Under Platform Settings, click SDK
- Click on the plus (
+) icon, select Download SDK - Choose Version
17, VendorEclipse Temurin (AdoptOpenJDK HotSpot)and validate - Ensure the select JDK is
temurin-17.

(Re)Load Maven project
Reloading “all Maven projects” is needed to automatically discover and configure SpringBoot projects. To do so:
press SHIFT+SHIFT, type in reload all maven projects and validate.
After the Maven projects are reloaded and indexed, IntelliJ offers the ability to use Services to manage Spring Boot run configuration: accept this.

A good way to verify the projects are correctly reloaded is to go to File > Project Structure or
CTRL+ALT+SHIFT+S. In the Problems section, you should have zero entry.

Configure Maven Wrapper
You must configure the project to leverage Maven Wrapper. To do so:
- get to
File>Settings...(CTRL-ALT-S), - navigate to
Build, Execution, Deployment>Build Tools>Maven, - set parameter
Maven home pathto valueUse Maven wrapper.
Here is a screenshot from IntelliJ 2021.3.2:

Configure character encoding
- Get to
File>Settings(CTRL+ALT+S) - Go into Editor > File encodings
- For the key Default encoding for properties file:, set value UTF-8
Edit Run/Debug configurations > Asqatasun Webapp
From projet root, do:
cd web-app/asqatasun-web-app/src/main/resources
ln -s ../webapp/public public(More information on this in issue #639)
Get to Run > Edit configurations.... Under Spring Boot, click on AsqatasunWebappApplication.
Add the following values:
- VM Options:
-Dwebdriver.gecko.driver=/opt/geckodriver -Djdbc.url="jdbc:mysql://localhost:3307/asqatasun" - Working directory:
$MODULE_WORKING_DIR$
Here is a screenshot from IntelliJ 2021.3.2:

Note: in IntelliJ 2021.3.3, this dialog has slightly changed; to get Working directory, you should click on Modify options, then tick Working directory to make it appear in the main dialog.
Edit Run/Debug configurations > Asqatasun Server
Get to Run > Edit configurations.... Under Spring Boot, click on AsqatasunServer.
Add the following values:
- VM Options:
-Dwebdriver.gecko.driver=/opt/geckodriver -Djdbc.url="jdbc:mysql://localhost:3307/asqatasun"

Configuration of Spring Boot projects
Source code holds many projects but two of them are real entrypoints:
- Asqatasun Webapp: the historical Asqatasun with the engine and the web-application.
- Asqatasun Server: added since v5.0.0, it holds the engine and the REST API.
In a Spring Boot project, all the configuration lies in application.yml. Here are the respective paths:
- Webapp:
web-app/asqatasun-web-app/src/main/resources/application.yml - Server:
server/asqatasun-server/src/main/resources/application.yml
You can override configuration with arguments passed as VM options. Get inspired by what we do in Build CLI, or how we do in production installation using systemd units + a local configuration file.
Globally, configuration can be overridden thanks to Spring Boot Externalized configuration .
Execute
Run>Run..and chooseAsqatasunWebappApplicationorAsqatasunServer- Then browse http://localhost:8080/ and connect with credentials:
- login:
admin@asqatasun.org - password:
myAsqaPassword
- login:
contractId from 0 to 1
or your request will end in a 500 error.