diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml
new file mode 100644
index 0000000..77cfd4c
--- /dev/null
+++ b/.github/workflows/maven-build.yml
@@ -0,0 +1,28 @@
+# This workflow will build a Java project with Maven
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: Build
+
+on:
+ push:
+ branches: [ master, develop ]
+ pull_request:
+ branches: [ master, develop ]
+ workflow_dispatch:
+ inputs: {}
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up JDK 17
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'adopt'
+ java-version: 17
+ cache: 'maven'
+ - name: Maven test
+ run: |
+ mvn -B test
\ No newline at end of file
diff --git a/README.md b/README.md
index d8a469c..c0db895 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,22 @@ All dependencies are present in the executables for runtime.
### Development
-* Java 11+
+* Java 17+
+* OpenJFX 21+
+
+#### Development program arguments
+
+When wanting to run this application locally from your IDE, it's recommended to add the following VM options:
+
+```shell
+-Dsun.awt.disablegrab=true
+-Dprism.verbose=true
+-Xms100M
+-XX:+UseG1GC
+-XX:+HeapDumpOnOutOfMemoryError
+-p "/path/to/openjfx/21/lib"
+--add-modules javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.web,javafx.swing
+```
## Features
diff --git a/pom.xml b/pom.xml
index d731007..9fe8bdf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.2.8.RELEASE
+ 3.2.0
com.xsd
@@ -20,12 +20,12 @@
- 11
- 11
- 11
+ 17
+ 17
+ 17
- 1.0.9
- 13.0.2
+ 2.0.0
+ 21.0.1
com.compare.xsd.XsdCompareStarter
diff --git a/src/main/java/com/compare/xsd/comparison/XsdLoader.java b/src/main/java/com/compare/xsd/comparison/XsdLoader.java
index 8494692..562c9f6 100644
--- a/src/main/java/com/compare/xsd/comparison/XsdLoader.java
+++ b/src/main/java/com/compare/xsd/comparison/XsdLoader.java
@@ -2,13 +2,13 @@
import com.compare.xsd.comparison.model.xsd.impl.XsdDocument;
import com.github.spring.boot.javafx.view.ViewManager;
+import jakarta.annotation.PostConstruct;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
-import javax.annotation.PostConstruct;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Optional;
diff --git a/src/main/java/com/compare/xsd/settings/SettingsService.java b/src/main/java/com/compare/xsd/settings/SettingsService.java
index 5f509a3..474e675 100644
--- a/src/main/java/com/compare/xsd/settings/SettingsService.java
+++ b/src/main/java/com/compare/xsd/settings/SettingsService.java
@@ -3,14 +3,14 @@
import com.compare.xsd.XsdCompareApplication;
import com.compare.xsd.settings.model.ApplicationSettings;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
diff --git a/src/main/java/com/compare/xsd/view/services/InterfaceService.java b/src/main/java/com/compare/xsd/view/services/InterfaceService.java
index 9e49b4b..616563a 100644
--- a/src/main/java/com/compare/xsd/view/services/InterfaceService.java
+++ b/src/main/java/com/compare/xsd/view/services/InterfaceService.java
@@ -7,7 +7,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
@Slf4j
@Service
diff --git a/src/main/java/com/compare/xsd/writers/ExcelComparisonWriter.java b/src/main/java/com/compare/xsd/writers/ExcelComparisonWriter.java
index 087c1c2..099de24 100644
--- a/src/main/java/com/compare/xsd/writers/ExcelComparisonWriter.java
+++ b/src/main/java/com/compare/xsd/writers/ExcelComparisonWriter.java
@@ -19,7 +19,7 @@
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import java.awt.*;
import java.io.File;
import java.util.ArrayList;