play-scala - java.lang.IllegalAccessError when fetching static assets

307 views
Skip to first unread message

Jeff Dyke

unread,
Jun 29, 2016, 7:24:49 PM6/29/16
to play-framework
play version: 2.5
java version 8.94 and 8.75 (tried the latter b/c it worked on ubuntu 14.04 machines)
scala version 2.11.8

Hoping someone has seen this as i feel like the fix will be stupidly simple and i'm spending too much time on it.  Other scala frameworks are working nicely (scalatra/scalikejdbc), actually its just play. 


[2016-06-29 23:19:13] [application-akka.actor.default-dispatcher-6] ERROR [ErrorHandler.scala:51] bondlink - ServerError - /favicon-194x194.png and message: java.lang.IllegalAccessError: class play.utils.Resources$ (in unnamed module @0x65bad087) cannot access class sun.net.www.protocol.file.FileURLConnection (in module java.base) because module java.base does not export sun.net.www.protocol.file to unnamed module @0x65bad087
[2016-06-29 23:19:13] [application-akka.actor.default-dispatcher-6] ERROR [ErrorHandler.scala:54] bondlink - java.lang.RuntimeException: java.lang.IllegalAccessError: class play.utils.Resources$ (in unnamed module @0x65bad087) cannot access class sun.net.www.protocol.file.FileURLConnection (in module java.base) because module java.base does not export sun.net.www.protocol.file to unnamed module @0x65bad087
at play.api.mvc.ActionBuilder$$anon$2.apply(Action.scala:463)
at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5$$anonfun$apply$6.apply(Action.scala:112)
at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5$$anonfun$apply$6.apply(Action.scala:112)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5.apply(Action.scala:111)
at play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5.apply(Action.scala:110)
at scala.Option.map(Option.scala:146)
at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:110)
at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:103)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:253)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:91)
at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90)
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:405)
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.IllegalAccessError: class play.utils.Resources$ (in unnamed module @0x65bad087) cannot access class sun.net.www.protocol.file.FileURLConnection (in module java.base) because module java.base does not export sun.net.www.protocol.file to unnamed module @0x65bad087
at play.utils.Resources$.isUrlConnectionADirectory(Resources.scala:32)
at controllers.AssetsBuilder$$anonfun$19.apply(Assets.scala:440)
at controllers.AssetsBuilder$$anonfun$19.apply(Assets.scala:436)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:253)
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70)
at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)
at scala.concurrent.impl.Promise$DefaultPromise.scala$concurrent$impl$Promise$DefaultPromise$$dispatchOrAddCallback(Promise.scala:280)
at scala.concurrent.impl.Promise$DefaultPromise.onComplete(Promise.scala:270)
at scala.concurrent.Future$class.flatMap(Future.scala:251)
at scala.concurrent.impl.Promise$DefaultPromise.flatMap(Promise.scala:153)
at controllers.AssetsBuilder.controllers$AssetsBuilder$$assetAt(Assets.scala:436)
at controllers.AssetsBuilder$$anonfun$at$1.apply(Assets.scala:424)
at controllers.AssetsBuilder$$anonfun$at$1.apply(Assets.scala:423)
at play.api.mvc.Action$.invokeBlock(Action.scala:498)
at play.api.mvc.Action$.invokeBlock(Action.scala:495)
at play.api.mvc.ActionBuilder$$anon$2.apply(Action.scala:458)
... 23 more

Will Sargent

unread,
Jun 29, 2016, 7:30:06 PM6/29/16
to play-fr...@googlegroups.com
I think you're using JDK 1.9, which is not out yet.

--
You received this message because you are subscribed to the Google Groups "play-framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to play-framewor...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/play-framework/fb0c139b-f191-49e5-93e1-4553b674345a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jeff Dyke

unread,
Jun 29, 2016, 8:12:27 PM6/29/16
to play-framework
Interesting.  while i don't doubt  you....i appreciate the response:

 jeff@stagingweb01: which java
/usr/lib/java/bin/java
 jeff@stagingweb01: java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode) 

Thanks for responding.
Jeff

Will Sargent

unread,
Jun 29, 2016, 8:20:54 PM6/29/16
to play-fr...@googlegroups.com
The reason why I think that is the error message seems specifically related to project jigsaw aka the jdk 1.9 modules system:


Will.

Will Sargent

unread,
Jun 29, 2016, 8:21:55 PM6/29/16
to play-fr...@googlegroups.com

Jeff Dyke

unread,
Jun 29, 2016, 8:47:48 PM6/29/16
to play-framework
hmmm, thanks for the response again.  Some symlinks on linux point to java8, but /etc/alternatives/java points to java9.

Thanks...multiple items to track down.
Reply all
Reply to author
Forward
0 new messages