[問題] 用指令編譯遇上module的問題

看板java作者 (薯)時間5年前 (2019/10/10 01:39), 5年前編輯推噓0(001)
留言1則, 1人參與, 5年前最新討論串1/1
從以前到現在我都只管寫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://www.ptt.cc/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

10/10 12:43, 5年前 , 1F
要不要試試Azul Zulu有直接包好OpenFX版本的OpenJDK
10/10 12:43, 1F
文章代碼(AID): #1TdXjO-W (java)
文章代碼(AID): #1TdXjO-W (java)