twitter / finatra

Fast, testable, Scala services built on TwitterServer and Finagle
https://twitter.github.io/finatra/
Apache License 2.0
2.27k stars 408 forks source link

Finatra on Java-11 requires additional dependency. #484

Closed vip4f closed 5 years ago

vip4f commented 5 years ago

The file https://github.com/twitter/finatra/blob/develop/utils/src/main/scala/com/twitter/finatra/utils/FileResolver.scala depends on javax.activation.MimetypesFileTypeMap which was removed from Java 11 jdk. So running Finatra on java 11 requires additional third party dependency: "com.sun.activation" % "javax.activation" % "1.2.0".

Expected behavior

Review Finatra source. May be it does not need this dependency?

Actual behavior

Failed in runtime without extra dependency.

Steps to reproduce the behavior

Finatra test server failed to start.

cacoco commented 5 years ago

@vi-p4f thanks for the issue. Confirmed that all of javax.activation was deprecated in JDK 9 and the class in question removed in JDK11: https://gunnarmorling.github.io/jdk-api-diff/jdk10-jdk11-api-diff.html.

We'll look into if we can remove the need for this. Thanks!

lssilva commented 5 years ago

Any update on this issue?

cacoco commented 5 years ago

@lssilva as you may know, Finatra is developed in a monorepo at Twitter and we currently only support JDK 8. When we move to supporting JDK 11 this will be addressed (which is coming but no ETA as of right now). As the original ticket mentions, there is a workaround, which is to add the "com.sun.activation" % "javax.activation" dependency.