Closed mtnygard closed 5 years ago
Something like the following in the generated project.clj
would alleviate this issue:
:jvm-opts ~(let [version (System/getProperty "java.version")
[major _ _] (clojure.string/split version #"\.")]
(if (<= 9 (java.lang.Integer/parseInt major) 10)
["--add-modules" "java.xml.bind"]
[]))
Description
project.clj
as generated by the template does not address modules introduced by Java 9. As a result, developers working with Java 9 through 10 will getjava.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
.Expected Behavior
lein new vase my-app
should result in a ready-to-run project.Actual Behavior
lein new vase my-app
followed bylein run-dev
results in a stack trace like this:Steps to reproduce
lein new vase my-app
lein run-dev
Environment
Operating System (including version).
Any
Your current Leiningen/Boot/Maven version (
lein --version
)Leiningen 2.8.1 on Java 10.0.2 OpenJDK 64-Bit Server VM
Pedestal and Vase version
Any.
JDK Version
My JDK:
openjdk full version "10.0.2+13-Ubuntu-1ubuntu0.18.04.4"
Note however, this will occur on any JDK post Java 9.