hashobject / perun

Programmable static site generator built with Clojure and Boot (HELP NEEDED!)
https://perun.io
Eclipse Public License 1.0
351 stars 38 forks source link

"target" boot task fails with Java 11 #229

Closed allentiak closed 4 years ago

allentiak commented 5 years ago

I'm having problems with the "target" boot task with Java 11. I'm using Clojure 1.10 with boot 2.8.2 (error message below).

As a workaround, everything works OK with Java 8.

I'm not sure whether this is a perun bug or a boot bug, though.

% java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9-Debian-3)
OpenJDK 64-Bit Server VM (build 11.0.2+9-Debian-3, mixed mode, sharing)

-> % boot dev

Starting file watcher (CTRL-C to quit)...

[global-metadata] - read global metadata from perun.base.edn
[yaml-metadata] - rendered 5 new or changed files
[markdown] - rendered 5 new or changed files
[render] - rendered 5 new or changed files
[build-date] - added date-build to 5 files
Writing target dir(s)...
                                       java.lang.Thread.run                        Thread.java:  834
         java.util.concurrent.ThreadPoolExecutor$Worker.run            ThreadPoolExecutor.java:  628
          java.util.concurrent.ThreadPoolExecutor.runWorker            ThreadPoolExecutor.java: 1128
                        java.util.concurrent.FutureTask.run                    FutureTask.java:  264
                                                        ...                                         
                        clojure.core/binding-conveyor-fn/fn                           core.clj: 2030
                                          boot.core/boot/fn                           core.clj: 1032
                                        boot.core/run-tasks                           core.clj: 1022
                             boot.task.built-in/fn/fn/fn/fn                       built_in.clj:  439
                          boot.task.built-in/fn/fn/fn/fn/fn                       built_in.clj:  442
                       boot.task.built-in/fn/fn/fn/fn/fn/fn                       built_in.clj:  442
                                  io.perun/eval933/fn/fn/fn                          perun.clj:  589
                                io.perun/content-task/fn/fn                          perun.clj:  274 (repeats 3 times)
                                 io.perun/eval1133/fn/fn/fn                          perun.clj:  687
                             boot.task.built-in/fn/fn/fn/fn                       built_in.clj:  394
                   deraen.boot-livereload/eval2030/fn/fn/fn                boot_livereload.clj:   61
                                         clojure.core/deref                           core.clj: 2320
                                                        ...                                         
                      deraen.boot-livereload/eval2030/fn/fn                boot_livereload.clj:   56
                                          boot.pod/call-in*                            pod.clj:  413
                                                        ...                                         
   jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke  DelegatingMethodAccessorImpl.java:   43
       jdk.internal.reflect.NativeMethodAccessorImpl.invoke      NativeMethodAccessorImpl.java:   62
      jdk.internal.reflect.NativeMethodAccessorImpl.invoke0       NativeMethodAccessorImpl.java     
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke        ClojureRuntimeShimImpl.java:  102
org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke        ClojureRuntimeShimImpl.java:  109
                                                        ...                                         
                                          boot.pod/call-in*                            pod.clj:  410
                                      boot.pod/eval-fn-call                            pod.clj:  357
                                                        ...                                         
                                       clojure.core/require                           core.clj: 6007 (repeats 2 times)
                                         clojure.core/apply                           core.clj:  667
                                                        ...                                         
                                     clojure.core/load-libs                           core.clj: 5969
                                     clojure.core/load-libs                           core.clj: 5985
                                         clojure.core/apply                           core.clj:  667
                                                        ...                                         
                                      clojure.core/load-lib                           core.clj: 5928
                                      clojure.core/load-lib                           core.clj: 5947
                                   clojure.core/load-lib/fn                           core.clj: 5948
                                      clojure.core/load-one                           core.clj: 5908
                                                        ...                                         
                                          clojure.core/load                           core.clj: 6109
                                          clojure.core/load                           core.clj: 6125
                                       clojure.core/load/fn                           core.clj: 6126
                                                        ...                                         
                        deraen.boot-livereload.impl/eval160                           impl.clj:    1
        deraen.boot-livereload.impl/eval160/loading--auto--                           impl.clj:    1
                                                        ...                                         
                                       clojure.core/require                           core.clj: 6007 (repeats 2 times)
                                         clojure.core/apply                           core.clj:  667
                                                        ...                                         
                                     clojure.core/load-libs                           core.clj: 5969
                                     clojure.core/load-libs                           core.clj: 5985
                                         clojure.core/apply                           core.clj:  667
                                                        ...                                         
                                      clojure.core/load-lib                           core.clj: 5928
                                      clojure.core/load-lib                           core.clj: 5947
                                   clojure.core/load-lib/fn                           core.clj: 5948
                                      clojure.core/load-one                           core.clj: 5908
                                                        ...                                         
                                          clojure.core/load                           core.clj: 6109
                                          clojure.core/load                           core.clj: 6125
                                       clojure.core/load/fn                           core.clj: 6126
                                                        ...                                         
                                 org.httpkit.server/eval166                         server.clj:    1
                 org.httpkit.server/eval166/loading--auto--                         server.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.bind.DatatypeConverter
clojure.lang.Compiler$CompilerException: Syntax error compiling at (org/httpkit/server.clj:1:1).
    data: {#object[clojure.lang.Keyword 0x70cf6537 ":clojure.error/phase"] #object[clojure.lang.Keyword 0x61a5e730 ":compile-syntax-check"], #object[clojure.lang.Keyword 0x46f6fa26 ":clojure.error/line"] 1, #object[clojure.lang.Keyword 0xcfa2ed4 ":clojure.error/column"] 1, #object[clojure.lang.Keyword 0x2012b291 ":clojure.error/source"] "org/httpkit/server.clj"}
Elapsed time: 5.757 sec

^C%                                                                                                                                                                           
jaidetree commented 5 years ago

https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j

Ran into that before, it can usually be solved by a JVM flag but we may need to figure out how to get that in a config file so that we don't inconvenience users.

On Fri, Mar 1, 2019 at 9:44 AM Leandro Doctors notifications@github.com wrote:

I'm having problems with the "target" boot task with Java 11. I'm using Clojure 1.10 with boot 2.8.2 (error message below).

As a workaround, everything works OK with Java 8.

I'm not sure whether this is a perun bug or a boot bug, though.

% java -version openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment (build 11.0.2+9-Debian-3) OpenJDK 64-Bit Server VM (build 11.0.2+9-Debian-3, mixed mode, sharing)

-> % boot dev

Starting file watcher (CTRL-C to quit)...

[global-metadata] - read global metadata from perun.base.edn [yaml-metadata] - rendered 5 new or changed files [markdown] - rendered 5 new or changed files [render] - rendered 5 new or changed files [build-date] - added date-build to 5 files Writing target dir(s)... java.lang.Thread.run Thread.java: 834 java.util.concurrent.ThreadPoolExecutor$Worker.run ThreadPoolExecutor.java: 628 java.util.concurrent.ThreadPoolExecutor.runWorker ThreadPoolExecutor.java: 1128 java.util.concurrent.FutureTask.run FutureTask.java: 264 ... clojure.core/binding-conveyor-fn/fn core.clj: 2030 boot.core/boot/fn core.clj: 1032 boot.core/run-tasks core.clj: 1022 boot.task.built-in/fn/fn/fn/fn built_in.clj: 439 boot.task.built-in/fn/fn/fn/fn/fn built_in.clj: 442 boot.task.built-in/fn/fn/fn/fn/fn/fn built_in.clj: 442 io.perun/eval933/fn/fn/fn perun.clj: 589 io.perun/content-task/fn/fn perun.clj: 274 (repeats 3 times) io.perun/eval1133/fn/fn/fn perun.clj: 687 boot.task.built-in/fn/fn/fn/fn built_in.clj: 394 deraen.boot-livereload/eval2030/fn/fn/fn boot_livereload.clj: 61 clojure.core/deref core.clj: 2320 ... deraen.boot-livereload/eval2030/fn/fn boot_livereload.clj: 56 boot.pod/call-in pod.clj: 413 ... jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke DelegatingMethodAccessorImpl.java: 43 jdk.internal.reflect.NativeMethodAccessorImpl.invoke NativeMethodAccessorImpl.java: 62 jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 NativeMethodAccessorImpl.java org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 102 org.projectodd.shimdandy.impl.ClojureRuntimeShimImpl.invoke ClojureRuntimeShimImpl.java: 109 ... boot.pod/call-in pod.clj: 410 boot.pod/eval-fn-call pod.clj: 357 ... clojure.core/require core.clj: 6007 (repeats 2 times) clojure.core/apply core.clj: 667 ... clojure.core/load-libs core.clj: 5969 clojure.core/load-libs core.clj: 5985 clojure.core/apply core.clj: 667 ... clojure.core/load-lib core.clj: 5928 clojure.core/load-lib core.clj: 5947 clojure.core/load-lib/fn core.clj: 5948 clojure.core/load-one core.clj: 5908 ... clojure.core/load core.clj: 6109 clojure.core/load core.clj: 6125 clojure.core/load/fn core.clj: 6126 ... deraen.boot-livereload.impl/eval160 impl.clj: 1 deraen.boot-livereload.impl/eval160/loading--auto-- impl.clj: 1 ... clojure.core/require core.clj: 6007 (repeats 2 times) clojure.core/apply core.clj: 667 ... clojure.core/load-libs core.clj: 5969 clojure.core/load-libs core.clj: 5985 clojure.core/apply core.clj: 667 ... clojure.core/load-lib core.clj: 5928 clojure.core/load-lib core.clj: 5947 clojure.core/load-lib/fn core.clj: 5948 clojure.core/load-one core.clj: 5908 ... clojure.core/load core.clj: 6109 clojure.core/load core.clj: 6125 clojure.core/load/fn core.clj: 6126 ... org.httpkit.server/eval166 server.clj: 1 org.httpkit.server/eval166/loading--auto-- server.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.bind.DatatypeConverter clojure.lang.Compiler$CompilerException: Syntax error compiling at (org/httpkit/server.clj:1:1). data: {#object[clojure.lang.Keyword 0x70cf6537 ":clojure.error/phase"] #object[clojure.lang.Keyword 0x61a5e730 ":compile-syntax-check"], #object[clojure.lang.Keyword 0x46f6fa26 ":clojure.error/line"] 1, #object[clojure.lang.Keyword 0xcfa2ed4 ":clojure.error/column"] 1, #object[clojure.lang.Keyword 0x2012b291 ":clojure.error/source"] "org/httpkit/server.clj"} Elapsed time: 5.757 sec

^C%

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/hashobject/perun/issues/229, or mute the thread https://github.com/notifications/unsubscribe-auth/AAkB2Zd9eXCscL2_GQNlaZs5Go3E-cDDks5vSTy6gaJpZM4bZKCA .

allentiak commented 5 years ago

According to 0, we should add a Maven dependency... (Haven't tried it yet, though.)

What's your position regarding this?

allentiak commented 5 years ago

BTW: thanks for the pointer!

allentiak commented 4 years ago

Seems to work out of the box with the updated deps of #232 (master at fe9566b25bb48a4f85a78b1ec98c3dc641b3717a). Could anyone else check this, please?

arichiardi commented 4 years ago

I am using latest master and I can confirm there is no problem on Java > 11 (I am using 13).

I guess we can resolve this issue and thank you!

allentiak commented 4 years ago

Closed 229

allentiak commented 4 years ago

Closed #229