我可以成功编译源代码,但是当我点击这个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)
GUICE绑定应该是自动的,任何想法如何修复它?
答案 0 :(得分:1)
Guice不能直接与GWT一起使用。您需要使用GIN。
答案 1 :(得分:0)
javax.inject是需要在类路径中的依赖项。
如果你downloaded Guice from Google,分解的zip文件夹中应该有一个带有javax.inject.jar文件的lib文件夹,或者你可以download it direct from trunk。
关键是这一行:
[java] 1) No implementation for javax.inject.Provider was bound.
答案 2 :(得分:0)
我能想到两件事。首先确保你已经在GWT模块xml中正确地继承了GIN模块:
<module>
...
<inherits name="com.google.gwt.inject.Inject"/>
...
</module>
其次,你必须小心GIN和Guice的版本。在GIN主页上它说:
GIN 1.0 需要......和 Guice 2.0
对于 Gin 1.5 ,您需要使用随Gin发布的 Guice快照或... Guice 3.0
因此,请确保路径中有相应的Guice JAR。