braveandtrue

https://www.braveclojure.com/
ryan 2019-05-03T05:15:33.000600Z

having issues following build instructions here if anyone knows whats up 🙂 https://www.braveclojure.com/quests/deploy/set-up-a-server-and-deploy-a-clojure-app-to-it/#Mac

ryan 2019-05-03T05:15:45.000900Z

upon running 'boot build' i'm getting classNotFoundException:

...  liberator.conneg/eval6357                         conneg.clj:    1
                   liberator.conneg/eval6357/loading--auto--                         conneg.clj:    1
                                     java.lang.Class.forName                         Class.java:  398
                                    java.lang.Class.forName0                          Class.java
                             java.lang.ClassLoader.loadClass                   ClassLoader.java:  521
                                                         ...
                             java.lang.ClassLoader.loadClass                   ClassLoader.java:  588
                                                         ...
                           java.net.URLClassLoader.findClass                URLClassLoader.java:  471
java.lang.ClassNotFoundException: javax.xml.ws.ProtocolException
      clojure.lang.ExceptionInfo: javax.xml.ws.ProtocolException
    line: 1

ryan 2019-05-03T05:15:53.001200Z

thanks 🙂

2019-05-03T11:32:11.006900Z

This is probably because Java 9 and later have removed a number of modules that were part of Java 8 and earlier. You can re-include them by running java with --add-modules java.xml.bind. I don’t use boot myself, but from looking at the docs, it sounds like you should be able to do this by setting export BOOT_JVM_OPTS="--add-modules java.xml.bind" (OS X and Linux). For Windows it’s a little more complicated: you have to create a boot.l4j.ini file in the same directory as your boot.exe, and inside the file, put the --add-modules java.xml.bind directive. See also https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j if you’d like more details about the underlying Java problem that this fixes.