playframework - Error running tests in Play Framework after migrating to 2.4.x (Java) -
i migrated 2.3 2.4. application seems working, none of tests run. fail following error:
[error] test models.testcountry.createtheater failed: com.google.inject.provisionexception: unable provision, see following errors: [error] [error] 1) error injecting constructor, java.lang.illegalstateexception: got deeper 5 levels while searching /home/jlei/workspace/ebor-play/target/web/classes/main/meta-inf/resources/webjars [error] @ controllers.webjarassets.<init>(webjarassets.scala:21) [error] @ controllers.webjarassets.class(webjarassets.scala:21) [error] while locating controllers.webjarassets [error] parameter 18 @ router.routes.<init>(routes.scala:96) [error] while locating router.routes [error] while locating play.api.test.fakerouterprovider [error] while locating play.api.routing.router [error] [error] 1 error, took 2.828 sec [error] @ com.google.inject.internal.injectorimpl$2.get(injectorimpl.java:1025) [error] @ com.google.inject.internal.injectorimpl.getinstance(injectorimpl.java:1051) [error] @ play.api.inject.guice.guiceinjector.instanceof(guiceinjectorbuilder.scala:321) [error] @ play.api.inject.guice.guiceinjector.instanceof(guiceinjectorbuilder.scala:316) [error] @ play.api.application$class.routes(application.scala:111) [error] @ play.api.test.fakeapplication.routes(fakes.scala:197) [error] @ play.api.play$.start(play.scala:89) [error] @ play.api.play.start(play.scala) [error] @ play.test.helpers.start(helpers.java:450) [error] @ play.test.withapplication.startplay(withapplication.java:44) [error] ... [error] caused by: java.lang.illegalstateexception: got deeper 5 levels while searching /home/jlei/workspace/ebor-play/target/web/classes/main/meta-inf/resources/webjars [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.aggregatechildren(fileurlprotocolhandler.java:43) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.aggregatechildren(fileurlprotocolhandler.java:47) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.aggregatechildren(fileurlprotocolhandler.java:47) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.aggregatechildren(fileurlprotocolhandler.java:47) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.aggregatechildren(fileurlprotocolhandler.java:47) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.aggregatechildren(fileurlprotocolhandler.java:47) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.aggregatechildren(fileurlprotocolhandler.java:47) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.listfiles(fileurlprotocolhandler.java:36) [error] @ org.webjars.urlprotocols.fileurlprotocolhandler.getassetpaths(fileurlprotocolhandler.java:25) [error] @ org.webjars.webjarassetlocator.getassetpaths(webjarassetlocator.java:89) [error] @ org.webjars.webjarassetlocator.getfullpathindex(webjarassetlocator.java:119) [error] @ controllers.webjarassets.<init>(webjarassets.scala:29) [error] @ controllers.webjarassets$$fastclassbyguice$$db4380e1.newinstance(<generated>) [error] @ com.google.inject.internal.cglib.reflect.$fastconstructor.newinstance(fastconstructor.java:40) [error] @ com.google.inject.internal.defaultconstructionproxyfactory$1.newinstance(defaultconstructionproxyfactory.java:61) [error] @ com.google.inject.internal.constructorinjector.provision(constructorinjector.java:105) [error] @ com.google.inject.internal.constructorinjector.construct(constructorinjector.java:85) [error] @ com.google.inject.internal.constructorbindingimpl$factory.get(constructorbindingimpl.java:267) [error] @ com.google.inject.internal.providertointernalfactoryadapter$1.call(providertointernalfactoryadapter.java:46) [error] @ com.google.inject.internal.injectorimpl.callincontext(injectorimpl.java:1103) [error] @ com.google.inject.internal.providertointernalfactoryadapter.get(providertointernalfactoryadapter.java:40) [error] @ com.google.inject.internal.singletonscope$1.get(singletonscope.java:145) [error] @ com.google.inject.internal.internalfactorytoprovideradapter.get(internalfactorytoprovideradapter.java:41) [error] @ com.google.inject.internal.singleparameterinjector.inject(singleparameterinjector.java:38) [error] @ com.google.inject.internal.singleparameterinjector.getall(singleparameterinjector.java:62) [error] @ com.google.inject.internal.constructorinjector.provision(constructorinjector.java:104) [error] @ com.google.inject.internal.constructorinjector.construct(constructorinjector.java:85) [error] @ com.google.inject.internal.constructorbindingimpl$factory.get(constructorbindingimpl.java:267) [error] @ com.google.inject.internal.injectorimpl$2$1.call(injectorimpl.java:1016) [error] @ com.google.inject.internal.injectorimpl.callincontext(injectorimpl.java:1103) [error] @ com.google.inject.internal.injectorimpl$2.get(injectorimpl.java:1012) [error] @ com.google.inject.internal.injectorimpl.getinstance(injectorimpl.java:1051) [error] @ play.api.inject.guice.guiceinjector.instanceof(guiceinjectorbuilder.scala:321) [error] @ play.api.inject.routesprovider$$anonfun$2.apply(builtinmodule.scala:67) [error] @ play.api.inject.routesprovider$$anonfun$2.apply(builtinmodule.scala:67) [error] @ scala.option.fold(option.scala:158) [error] @ play.api.inject.routesprovider.get$lzycompute(builtinmodule.scala:67) [error] @ play.api.inject.routesprovider.get(builtinmodule.scala:63) [error] @ play.api.test.fakerouterprovider.get$lzycompute(fakes.scala:259) [error] @ play.api.test.fakerouterprovider.get(fakes.scala:259) [error] @ play.api.test.fakerouterprovider.get(fakes.scala:258) [error] @ com.google.inject.internal.providerinternalfactory.provision(providerinternalfactory.java:81) [error] @ com.google.inject.internal.boundproviderfactory.provision(boundproviderfactory.java:72) [error] @ com.google.inject.internal.providerinternalfactory.circularget(providerinternalfactory.java:61) [error] @ com.google.inject.internal.boundproviderfactory.get(boundproviderfactory.java:62) [error] @ com.google.inject.internal.injectorimpl$2$1.call(injectorimpl.java:1016) [error] @ com.google.inject.internal.injectorimpl.callincontext(injectorimpl.java:1092) [error] @ com.google.inject.internal.injectorimpl$2.get(injectorimpl.java:1012) [error] ... 44 more [error] failed: total 1, failed 1, errors 0, passed 0
i using injectedroutesgenerator , version 2.4.0-m3-1 of webjars-play. let me know if there other details might help!
does have idea might going on?
edit:
dug up: https://github.com/sbt/sbt-web/issues/104
so seems known issue. guess i'll trying find creative workaround in meantime...
the proximate cause of failure there more 5 levels of subdirectories under:
/home/jlei/workspace/ebor-play/target/web/classes/main/meta-inf/resources/webjars
Comments
Post a Comment