作者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/m.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