はじめに
ビルドをする際に突然エラーが出てしまったのでまとめていきます
問題
以下のエラーが発生するようになりました
Exception in thread "main" java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter, compiling:(server.clj:1:1)
at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3700)
at clojure.lang.Compiler.compile1(Compiler.java:7609)
at clojure.lang.Compiler.compile1(Compiler.java:7599)
at clojure.lang.Compiler.compile(Compiler.java:7676)
at clojure.lang.RT.compile(RT.java:413)
at clojure.lang.RT.load(RT.java:458)
at clojure.lang.RT.load(RT.java:426)
Compilation failed: Subprocess failed (exit code: 1)
使っていたイメージのJVMのバージョンが上がったことで依存ライブラリに問題がおきています
解決方法
Java8で使っていたjava.xml.bind
はDatatypeConverter
があったのですが、Java17に変わったことで、クラスがなくなり問題が起きていました
なので、別途依存関係に追加することで解決しました
今回はClojureだったので以下を追加しました
clj.project
:dependencies [[javax.xml.bind/jaxb-api "2.3.1"]
おわりに
知見があまりないところだったので、沼にはまらずに済んで良かったです。
参考