[#CLJ-2077] Clojure can't be loaded from the boot classpath under java 9 - Clojure JIRA
https://dev.clojure.org/jira/browse/CLJ-2077
1 2 3 4 5 | # jarをダウンロード $ wget 'https://search.maven.org/remotecontent?filepath=org/clojure/clojure/1.8.0/clojure-1.8.0.jar' # clojure.mainを呼んでみる $ java -client -Xbootclasspath /a :. /clojure-1 .8.0.jar \ clojure.main -e "(println \"hello\")" |
1 2 3 4 5 | # java.sql.Timestampが見つからないと怒られる Exception in thread "main" java.lang.ExceptionInInitializerError ... Caused by: java.lang.ClassNotFoundException: java.sql.Timestamp ... |
clojure 1.9 beta1 で対処することになったが、clojure 1.8 までは変更しないことに
1 2 3 4 5 6 | # jarをダウンロード # clojure.mainを呼んでみる $ java -client -Xbootclasspath /a :. /clojure-1 .9.0-beta2.jar:. /spec .alpha-0.1.134.jar \ clojure.main -e "(print \"hello\")" |
(clojure1.9からclojure.jarとspec.alpha.jarが必要)
その他の回避策
Java 9 incompatibility · Issue #2149 · technomancy/leiningen
https://github.com/technomancy/leiningen/issues/2149
leinのシェルスクリプトファイルから、BOOTCLASSPATH変数を設定する箇所をコメントアウト
そろそろ設定をスキップできるようになるかも
Release 2.8.0-RC1 · technomancy/leiningen
https://github.com/technomancy/leiningen/releases/tag/2.8.0-RC1
"Support skipping bootclasspath for Java 9 compatibility. (Phil Hagelberg)"
どうしてもbootcalasspath/aを指定したいなら、java 8までか、clojure 1.9 beta1以降 (現在 beta2)を使おう。
0 件のコメント :
コメントを投稿