Компиляция проекта GWT с использованием GUICE с ANT - PullRequest
2 голосов
/ 23 ноября 2010

Я могу успешно скомпилировать исходный код, но когда я нажимаю на эту задачу муравья:

  <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-связывание должно быть автоматическим, есть идеи как это исправить?

Ответы [ 3 ]

1 голос
/ 16 марта 2011

Guice нельзя использовать напрямую с GWT. Вам нужно использовать GIN .

0 голосов
/ 20 февраля 2012

Есть две вещи, о которых я могу думать.Прежде всего, убедитесь, что вы правильно унаследовали модуль GIN в своем модуле GWT xml:

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

Во-вторых, вы должны быть осторожны с версиями GIN и Guice.На домашней странице GIN написано:

GIN 1.0 требуется ... и Guice 2.0

Для Джин 1,5 вам нужно будет использовать Guice снимок , распространяемый с Джином или ... Guice 3.0

Так что убедитесь, чтоу вас есть соответствующий Guice JAR в пути.

0 голосов
/ 16 марта 2011

javax.inject - это зависимость, которая должна быть в вашем пути к классам.

Если вы загрузили Guice из Google , в папке должна быть папка lib.Разорванный почтовый индекс с файлом javax.inject.jar, или вы можете загрузить его прямо из транка .

Ключ этой строки:

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