Closed bkis closed 2 years ago
@nilsreiter Have you tried building and running the app based on this PR on your end? I wouldn't dare to merge this before it's tested to work on at least one other (preferably your) platform.
There were some minor "hiccups" when I ran the build on my machine (Linux), but I'm not sure if those were already known. E.g. the analyzer GUI behaved a bit goofy and threw some exceptions, but I think it's unlikely to be connected to these changes.
Also, I didn't try to run with JavaFX, so there's that.
The code already uses methods that were only introduced with Java 11 (e.g.
String.isBlank()
) and thus depends on Java 11 without it being explicitly set in the Maven configuration. Also, Java 11 (LTS) is already 3 years old. By now it should be okay to draw a line and make the project's setup more explicit about it's target platform.This PR attempts to properly target Java 11 by using the maven-compiler-plugin (e.g. as explained here). By changing the target platform to Java 11, some project dependencies include packages that found their way into the standard library of Java 11 by now, resulting in duplicate packages in the build path. This is fixed by excluding said packages from the dependency tree (namely
xml-apis
is excluded fromorg.apache.poi.poi-ooxml
andorg.dkpro.core.dkpro-core-stanfordnlp-gpl
) and instead relying on the Java platform packages.This PR does not update the project's dependencies! While this would be a good idea in general, it might or might not be necessary right now. The currently used dependencies' compatibility with Java 11 should still be tested before merging, making this a work-in-progress (draft) PR.
This PR would resolve #265 by rendering it irrelevant