使用Guice插件播放2.0.4 Java - 应用程序启动时出错

时间:2012-11-22 14:44:19

标签: playframework-2.0 guice

我们在文档中设置了guice,它似乎工作正常,但我们在应用程序日志中遇到以下错误:

  

[warn]应用程序 - 也许inject.modules配置参数没有设置propery?   java.lang.ClassNotFoundException:module.Dependencies       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:366)       在java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)       at java.security.AccessController.doPrivileged(Native Method)       在java.net.URLClassLoader.findClass(URLClassLoader.java:354)       at java.lang.ClassLoader.loadClass(ClassLoader.java:423)       at java.lang.ClassLoader.loadClass(ClassLoader.java:356)       在com.typesafe.plugin.inject.InjectPlugin.createModules(InjectPlugin.java:88)       在com.typesafe.plugin.inject.InjectPlugin.availableModules(InjectPlugin.java:29)       在com.typesafe.plugin.inject.GuicePlugin.onStart(GuicePlugin.java:33)       at play.api.Play $$ anonfun $ start $ 1.apply(Play.scala:60)       at play.api.Play $$ anonfun $ start $ 1.apply(Play.scala:60)       在scala.collection.LinearSeqOptimized $ class.foreach(LinearSeqOptimized.scala:59)       在scala.collection.immutable.List.foreach(List.scala:45)       at play.api.Play $ .start(Play.scala:60)       ...

有什么可以忽略的吗?如果在application.conf中没有为inject.modules指定任何内容,则inject.modules似乎是默认值。

1 个答案:

答案 0 :(得分:1)

您必须提供一个名为module.Dependencies的类来进行绑定,例如:

package module;

import com.google.inject.*;
import service.*;

public class Dependencies implements Module {

 public void configure(Binder binder) {
     binder.bind(Service.class).to(SomethingService.class);
  }  
}

看看here