问题
I followed the steps in https://blog.jetbrains.com/idea/2013/03/packaging-javafx-2-applications-in-intellij-idea-121/
but when I try to build artifacts the as in the last step I get this error
Error:Java FX Packager: Can't build artifact - fx:deploy is not available in this JDK
I know JavaFX has been removed from java11 my question is what should I do to build a .jar
or .exe
here is a hello world app for quick testing.
回答1:
Using the JavafX JAR export option doesn't work anymore in Intelij. You can export it as a regular jar with "Jar-From module with dependencies". This will export a valid Jar, but in order to run it, you need to add your javaFx path and modules to your command.
After you have the jar, the run command should look something like this:
java --module-path PATH_TO_YOUR_JAVAFX_LIB_FOLDER --add-modules javafx.controls,javafx.fxml,javafx.graphics,javafx.web -jar yourJar.jar
I made a youtube tutorial with this: https://youtu.be/HGHu-SzL-5E
回答2:
Unfortunately, you won't be able to build your jar using JFX11 this way, as apparently the packager was removed from the JFX SDK. There is hope it will be implemented in a future release (maybe 12). Read here for more details:
https://youtrack.jetbrains.com/issue/IDEA-200721 containing the following 2 links:
https://bugs.openjdk.java.net/browse/JDK-8212780
https://openjdk.java.net/jeps/343
As a temporary solution, you might simply use/downgrade to version 10 which still includes the needed packager.
来源:https://stackoverflow.com/questions/53450011/build-and-deploy-javafx-application-using-java11