[问题] 用指令编译遇上module的问题

楼主: liu2007 (è–¯)   2019-10-10 01:39:25
从以前到现在我都只管写java
编译、路径、lib都交给eclipse
后来因为发现用oracle的jdk,jre要付费
转而使用openJDK与openFX
结果发现用eclipse内建的汇入外部的openFX.jar档没用
上网查怎么用eclipse+openJDK+openFX来开发javaFX的程式
才发现原来多了一个module这个我完全陌生的东西(我跟写程式脱离太久了)
然后我不知道哪根筋不对
或者可能是网络上的java module化的教学大多都是用command做示范
module + command line直接把我按在地上磨擦
所以开始学习土法炼钢用command编译、执行java程式
现在的进度是可以顺利javac我专案里的所有java档
javac -cp .;..\openFX\* -d bin *.java
但是执行的时候
<...\bin>
java -cp .;..\..\openFX\* applications.Main
会跳出 错误: 遗漏执行此应用程式所需的 JavaFX 程式实际执行元件
我用错误讯息上网估狗,发现原始码
java.launcher.cls.error5=错误: 遗漏执行此应用程式所需的JavaFX 程式实际执行元

然后上网找会出现java.launcher.cls.error5的原因
有个网站是说:
启动报错:缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
模块化 Java 程序与非模块化 Java 程序的启动方式有所不同。
所以不得已去学习module
可是我找不到如果是用到别人的lib时,这个module该怎么写的范例...
我按照范例写一个空的module-info当然会过
但只要我加入 requires javafx.base
编译就会产生错误,说:
module-info.java:3: error: module not found: javafx.base
requires javafx.base;
^
不管我把javafx的lib放在同一个资料夹也好
或是把openFx\*改成*.jar,或是一个一个指定 -cp .;openFx\a.jar;openFx\b.jar......
都没有用
想请教各位问题到底出在哪...?
要怎么让使用其他.jar档的lib 能够被module-info在编译的时候正确读取到?
感谢
作者: ssccg (23)   2019-10-10 12:43:00
要不要试试Azul Zulu有直接包好OpenFX版本的OpenJDK

Links booklink

Contact Us: admin [ a t ] ucptt.com