Я пытаюсь скомпилировать mirth connect из источника https://github.com/nextgenhealthcare/connect из тега 3.9.0 (но и предыдущие версии терпят неудачу с теми же ошибками)
Я думаю, что под рукой он должен быть скомпилирован с java9 +, потому что он использует некоторые вещи javafx, что также указывает на ошибку:
[javac] Compiling 519 source files to /home/pwirth/code/connect/client/classes
[javac] /home/pwirth/code/connect/client/src/com/mirth/connect/client/ui/Frame.java:54: error: cannot access Platform
[javac] import javafx.application.Platform;
[javac] ^
[javac] bad class file: /home/pwirth/code/connect/client/lib/openjfx.jar(javafx/application/Platform.class)
[javac] class file has wrong version 54.0, should be 52.0
[javac] Please remove or make sure it appears in the correct subdirectory of the classpath.
С другой стороны, он использует классы, которые больше не доступны, так как java 9, как этот :
[javac] (package com.sun.rowset is declared in module java.sql.rowset, which does not export it)
[javac] /home/pwirth/code/connect/server/src/com/mirth/connect/server/userutil/MirthCachedRowSet.java:24: error: package com.sun.rowset is not visible
[javac] import com.sun.rowset.CachedRowSetImpl;
[javac] ^
[javac] (package com.sun.rowset is declared in module java.sql.rowset, which does not export it)
[javac] /home/pwirth/code/connect/server/src/com/mirth/connect/server/userutil/DatabaseConnection.java:128: error: incompatible types: MirthCachedRowSet cannot be converted to CachedRowSet
[javac] CachedRowSet crs = new MirthCachedRowSet();
Я выполняю ant -f mirth-build.xml
, и когда он запускается, когда мой JAVA_HOME
указывает на java 11 также с опциями ant для открытия модулей, как описано в их readme.md, который объявляет --add-modules=java.sql.rowset