作者liu2007 (薯)
看板java
标题[问题] 用指令编译遇上module的问题
时间Thu Oct 10 01:39:25 2019
从以前到现在我都只管写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在编译的时候正确读取到?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.192.227.117 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1570642776.A.FA0.html
※ 编辑: liu2007 (123.192.227.117 台湾), 10/10/2019 01:45:11
※ 编辑: liu2007 (123.192.227.117 台湾), 10/10/2019 01:46:09
1F:→ ssccg: 要不要试试Azul Zulu有直接包好OpenFX版本的OpenJDK 10/10 12:43