softwaremill / akka-http-session

Web & mobile client-side akka-http sessions, with optional JWT support

Home Page:https://softwaremill.com/open-source/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please support Java 9!

hseeberger opened this issue · comments

With Java 9 I get

chakka-core[ERROR] java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
chakka-core[ERROR] 	at com.softwaremill.session.SessionUtil$.toHexString(SessionUtil.scala:36)
chakka-core[ERROR] 	at com.softwaremill.session.Crypto$.sign_HmacSHA1_hex(Crypto.scala:17)
chakka-core[ERROR] 	at com.softwaremill.session.BasicSessionEncoder.verifySignature$1(SessionEncoder.scala:50)
chakka-core[ERROR] 	at com.softwaremill.session.BasicSessionEncoder.$anonfun$decode$4(SessionEncoder.scala:71)
chakka-core[ERROR] 	at scala.util.Success.$anonfun$map$1(Try.scala:251)
chakka-core[ERROR] 	at scala.util.Success.map(Try.scala:209)
chakka-core[ERROR] 	at com.softwaremill.session.BasicSessionEncoder.$anonfun$decode$3(SessionEncoder.scala:70)
chakka-core[ERROR] 	at scala.util.Try$.apply(Try.scala:209)
chakka-core[ERROR] 	at com.softwaremill.session.BasicSessionEncoder.decode(SessionEncoder.scala:53)
chakka-core[ERROR] 	at com.softwaremill.session.ClientSessionManager.decode(SessionManager.scala:61)
chakka-core[ERROR] 	at com.softwaremill.session.ClientSessionManager.decode$(SessionManager.scala:60)
chakka-core[ERROR] 	at com.softwaremill.session.SessionManager$$anon$1.decode(SessionManager.scala:14)
chakka-core[ERROR] 	at com.softwaremill.session.OneOffSessionDirectives.$anonfun$oneOffSession$1(SessionDirectives.scala:132)

With Java 8 everything works as expected ...

Actually adding "javax.xml.bind" % "jaxb-api" % "2.3.0" as a dependency resolved this issue for me. If you upgrade to Java 9 or higher, you probably should add that, too.

@hseeberger I removed usages of DatatypeConverter so hopefully this will now work with just the base module. Also released a new version with the change (0.5.5)