使用GUICE和ANT编译GWT项目

使用GUICE和ANT编译GWT项目,gwt,ant,guice,gwt-gin,Gwt,Ant,Guice,Gwt Gin,我可以成功编译源代码,但当我执行此ant任务时: <target name="gwtc" depends="javac" description="GWT compile to JavaScript"> <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler"> <classpath> <pathelement loca

我可以成功编译源代码,但当我执行此ant任务时:

  <target name="gwtc" depends="javac" description="GWT compile to JavaScript">
    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">
      <classpath>
        <pathelement location="src"/>
        <path refid="project.class.path"/>
      </classpath>
      <jvmarg value="-Xmx256M"/>
      <arg line="${gwt.args}"/>
      <arg value="com.jwavro.jaguar.jaguar"/>
    </java>
  </target>

我发现以下错误:

gwtc: [java] Compiling module com.jwavro.jaguar.jaguar [java] Scanning for additional dependencies: generated://9161C2B729E3521B2A51CBE6F2AE8A77/com/unnison/framework/client/GeneratedGinInjector.java [java] Computing all possible rebind results for 'com.unnison.framework.client.GeneratedGinInjector' [java] Rebinding com.unnison.framework.client.GeneratedGinInjector [java] Invoking generator com.google.gwt.inject.rebind.GinjectorGenerator [java] [ERROR] Generator 'com.google.gwt.inject.rebind.GinjectorGenerator' threw an exception while rebinding 'com.unnison.framework.client.GeneratedGinInjector' [java] com.google.inject.CreationException: Guice creation errors: [java] [java] 1) No implementation for javax.inject.Provider was bound. [java] while locating javax.inject.Provider [java] for parameter 9 at com.google.gwt.inject.rebind.BindingsProcessor.(BindingsProcessor.java:209) [java] at com.google.gwt.inject.rebind.GinjectorGeneratorModule.configure(GinjectorGeneratorModule.java:59) gwtc: [java]编译模块com.jwavro.jaguar.jaguar [java]扫描其他依赖项:generated://9161C2B729E3521B2A51CBE6F2AE8A77/com/unnison/framework/client/GeneratedGinInjector.java [java]计算'com.unnison.framework.client.GeneratedGinInjector'的所有可能重新绑定结果 [java]重新绑定com.unnison.framework.client.GeneratedGinInjector [java]调用生成器com.google.gwt.inject.rebind.GinjectorGenerator [java][ERROR]生成器'com.google.gwt.inject.rebind.GinjectorGenerator'在重新绑定'com.unnison.framework.client.GeneratedGinInjector'时引发异常 [java]com.google.inject.CreationException:Guice创建错误: [爪哇] [java]1)未绑定javax.inject.Provider的任何实现。 [java]查找javax.inject.Provider时 [java]用于com.google.gwt.inject.rebind.BindingsProcessor上的参数9。(BindingsProcessor.java:209) [java]位于com.google.gwt.inject.rebind.GinjectorGeneratorModule.configure(GinjectorGeneratorModule.java:59) GUICE绑定应该是自动的,知道如何修复它吗?

是一个依赖项,需要位于类路径中

如果需要,在分解的zip文件中应该有一个lib文件夹和javax.inject.jar文件,或者您可以

关键是这一行:

[java] 1) No implementation for javax.inject.Provider was bound.

Guice不能直接与GWT一起使用。你需要使用。

我可以想到两件事。首先,确保在GWT模块xml中正确继承了GIN模块:

<module>
  ...
  <inherits name="com.google.gwt.inject.Inject"/>
  ...
</module>

...
...
第二,你必须对杜松子酒和Guice的版本保持谨慎。在金酒公司的主页上写着:

GIN 1.0需要。。。和Guice 2.0

对于Gin 1.5,您需要使用与Gin一起分发的Guice快照,或者Guice 3.0


因此,请确保路径中有适当的Guice JAR。

问题已标记为Gin,因此我希望他已经知道:-)虽然现在我正在查看问题,但我看到它已被编辑,因此可能原始帖子未标记为Gin。