Eclipse 使用 jdk 11 時 找不到 java.sql 包的解決方法


我本機是 jdk 11 ,在一次使用 Eclipse 開發時,偶然遇到了 import java.sql 報錯的問題;由於平時都是用 Idea 做的,這可着實把我難住了。

后邊經過排查,發現是 jre 的問題。眾所周知,在 jdk 11 以及以后的 jdk 版本中(大概?)安裝 jdk 是不會自動安裝 jre 的,得手動生成,百度上查到的千篇一律,全都是

下邊這個命令:

jlink.exe --module-path jmods --add-modules java.desktop --output jre

我就納悶兒了,難道全都是復制粘貼,都沒人出過錯?用這個命令生成的 jre 在 Eclipse 里使用時,構建路徑上只有幾個包,根本沒有 java.sql 因此就會導致無法 import java.sql (下圖是解決問題后的截圖,懶得復現了)

知道了問題 所在,解決方法也就很簡單了,看下 jlink 的幫助就明白了

 

 

上邊命令的錯誤就錯在生成的 jre 沒有添加 java.sql 模塊,我們加進去就是。

最終命令如下:

jlink.exe --module-path jmods --add-modules java.sql,java.desktop --output jre

 

 現在就可以愉快的寫 SQL 了

 

2021-6-30 Python 效率還是高啊,隨手做了一份啟用了所有 jmod 的命令( 基於 jdk 11 ):

jlink.exe --module-path jmods --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.se,java.security.jgss,java.security.sasl,java.smartcardio,java.sql,java.sql.rowset,java.transaction.xa,java.xml.crypto,java.xml,jdk.accessibility,jdk.aot,jdk.attach,jdk.charsets,jdk.compiler,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.crypto.mscapi,jdk.dynalink,jdk.editpad,jdk.hotspot.agent,jdk.httpserver,jdk.internal.ed,jdk.internal.jvmstat,jdk.internal.le,jdk.internal.opt,jdk.internal.vm.ci,jdk.internal.vm.compiler,jdk.internal.vm.compiler.management,jdk.jartool,jdk.javadoc,jdk.jcmd,jdk.jconsole,jdk.jdeps,jdk.jdi,jdk.jdwp.agent,jdk.jfr,jdk.jlink,jdk.jshell,jdk.jsobject,jdk.jstatd,jdk.localedata,jdk.management.agent,jdk.management.jfr,jdk.management,jdk.naming.dns,jdk.naming.ldap,jdk.naming.rmi,jdk.net,jdk.pack,jdk.rmic,jdk.scripting.nashorn,jdk.scripting.nashorn.shell,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported.desktop,jdk.unsupported,jdk.xml.dom,jdk.zipfs --output jre

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM