This is a school project that explores the SPI architecture and design.
- Java 24
- Apache Maven 3.9.9 set to Java version: 24
- Docker version 28.0.4, build b8034c0 > greater
- PowerShell 7.5.1 > greater
Linux, MacOSx, Windows
This project has supports for docker hub installation as well image currently can be downloaded to your local directory with the following command:
- Downloads image from hub:
docker pull efpcode/spi-demo:latest- Run image with the following command:
docker run --rm -it efpcode/spi-demo:latestAll described steps assume that you have access to a terminal with a posix system or similar to it.
Git clone repository with the command below:
git clone https://github.com/efpcode/spi-project.gitNavigate to the root project with cd command and name of repository spi-project:
cd spi-projectMake the ".sh" files executable with the following command:
chmod +x run_docker.sh run.sh setup.shTo run the application locally please enter the following commands:
- Compiles step and moves modules to libs directory.
./setup.sh- Executes application module.
./run.shThe first time the application needs to be compiled to have the needed .jar files.
./run_docker.sh -cThe command above is optional with the c -flag (compile) after it has been run once.
./run_docker.shThe command above will load the docker file and will build a container in interactive mode with name called my-java-app.
- Easy just run the same commands as above but with wsl.
Start by cloning the project as described for Steps 0 to Step 1 in a Powershell terminal window.
Run the following command in Powershell, to compile the project with maven and create the libs directory for storing the *.jar files.
./setupExecute application by entering the following command:
./runFirst time running the docker the run_docker.ps1 file it should be run with -c flag to compile
maven projects.
Run the following command to ensure that project is complied with maven before creating image:
./run_docker -cThis command should only be run if the Initial Run step has been performed.
./run_docker- Ensure that Docker Desktop or similar application is running before running any of
run_dockerfiles. - Ensure that image called
my-java-app:latestis removed and re-run the script for respective platform with theInitial Rundescription.