diff --git a/.github/workflows/JavaMavenCI.yml b/.github/workflows/JavaMavenCI.yml
new file mode 100644
index 0000000..9e637d8
--- /dev/null
+++ b/.github/workflows/JavaMavenCI.yml
@@ -0,0 +1,55 @@
+name: Java CI with Maven
+
+on:
+ push:
+ branches:
+ - '*'
+ pull_request:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Set up JDK 21
+ uses: actions/setup-java@v4
+ with:
+ java-version: '21'
+ distribution: 'temurin'
+ cache: maven
+ - name: Compile with maven
+ run: mvn clean compile
+
+ checkstyle:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+ - name: Set up JDK 21
+ uses: actions/setup-java@v4
+ with:
+ java-version: '21'
+ distribution: 'temurin'
+ cache: maven
+ - name: Checkstyle with maven
+ run: mvn checkstyle:check
+
+ test:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Set up JDK 21
+ uses: actions/setup-java@v4
+ with:
+ java-version: '21'
+ distribution: 'temurin'
+ cache: maven
+ - name: Compile maven project
+ run: mvn clean compile
+ - name: Test maven project
+ run: mvn test
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index cc53273..3d964f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -240,6 +240,7 @@
agroscience/fields/services/Field*
agroscience/fields/services/Soil*
agroscience/fields/services/Crops*
+ agroscience/fields/controllers/*