正如我们已经知道的那样,JDK-10 JavaFX曾经是JDK的一部分,但随着JDK-11的发布,JavaFx将被单独包含在内 .
为此,我们需要像这样为JavaFX提供 VM argument : -
--module-path "C:\javafx-sdk-11.0.1\lib" --add-modules=javafx.controls,javafx.fxml
到目前为止,每件事情都可以,但是当我们最终创建一个JAR文件进行分发时,会出现如下消息: -
VM arguments will not be part of the runnable JAR. Arguments can be passed on the command line when launching the JAR
因此现在JAR文件无法打开应用程序 .
现在请通过建议一些方法来帮助我,这样用户只需单击之前的JAR图标即可打开应用程序 .
感谢你 . [1]:有关此问题的详细信息,请参见屏幕截图https://i.stack.imgur.com/GXxX4.png .
================================================== ===============================
先生应用 openjfx.io/openjfx-docs/#modular, section non-modular projects 提供的解决方案后
我能够用Java Fx生成Standalone Jar文件
现在我想添加一些依赖项,如pdfbox和Sqlite
Which is stored in in c drive :
sqlite = C:\ sqlite-jdbc-3.6.20.1.jar
PDFBOX = C:\ PDFBOX-APP-2.0.10.jar
Presently I am doing following steps:-
Step-1
cd eclipse-workspace2018 \ test101
Step-2
设置PATH_TO_FX =“C:\ javafx-sdk-11.0.1 \ lib”
Step-3
dir / s / b src * .java> sources.txt&javac --module-path%PATH_TO_FX% - add-modules = javafx.controls -d out @ sources.txt&del sources.txt
Step-4
cd out&jar xf“%PATH_TO_FX%\ javafx.base.jar”&jar xf“%PATH_TO_FX%\ javafx.graphics.jar”&jar xf“%PATH_TO_FX%\ javafx.controls.jar”&cd .. copy“ %PATH_TO_FX%.. \ bin \ prism * .dll“out&copy”%PATH_TO_FX%.. \ bin \ javafx * .dll“out&copy”%PATH_TO_FX%.. \ bin \ glass.dll“out && copy” %PATH_TO_FX%.. \ bin \ decora_sse.dll“out del out \ META-INF \ MANIFEST.MF&del out \ module-info.class mkdir libs jar --create --file = libs / index101.jar --main -class = test101.Launcher -C out . java -jar libs \ index101.jar
请修改我添加上述两个依赖项pdfBox和sqlite的步骤 .