Я использую Google Gin для создания события в моем проекте GWT следующим образом:
package com.lokur.motd.client.events;
import com.gwtplatform.dispatch.annotation.GenEvent;
@GenEvent
public class EditorChange {
}
Теперь, когда я компилирую свой проект с помощью «mvn clean install -e», он генерирует необходимые классы, а именно. EditorChangeEvent.class, EditorChangeEvent$EditorChangeHandler.class, EditorChangeEvent$HasEditorChangeHandlers.class в целевой папке моего проекта.
Но когда я пытаюсь получить доступ к определенному сгенерированному классу, например. EditorChangeEvent в моем проекте выдает ошибку компиляции с сообщением:
«Пакет com.lokur.motd.client.events.EditorChangeEvent не существует»
...
Я не понимаю такого поведения. Нужно ли нам явно добавлять «целевую» папку Maven в путь к классам или где-то в pom.xml, или что-то еще вызывает это?
Вот плагины из maven pom.xml:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.plugin.version}</version>
<configuration>
<runTarget>myMessage/myMessage.html</runTarget>
<disableCastChecking>true</disableCastChecking>
<disableClassMetadata>true</disableClassMetadata>
<!-- <logLevel>INFO" -bindAddress 0.0.0.0 -logLevel "INFO</logLevel> -->
<logLevel>ERROR</logLevel>
<style>OBF</style>
<!-- OBF, PRETTY, DETAILED -->
<noServer>false</noServer>
<additionalPageParameters>log_level=OFF</additionalPageParameters>
<extraJvmArgs>-Xmx512m -Ddev.mode=true -DuseCache=false</extraJvmArgs>
<extraTestArgs>-Xmx512m -Ddev.mode=true</extraTestArgs>
<gwtVersion>${gwtVersion}</gwtVersion>
<testFilter>*</testFilter>
<hostedWebapp>
${project.build.directory}/${project.build.finalName}
</hostedWebapp>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>Unzip usp Config & Env Modules</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.dig.configs</groupId>
<artifactId>common-configs</artifactId>
<version>${commonConfigs.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${basedir}/target/tmp</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>${pom.groupId}</groupId>
<artifactId>usp-env</artifactId>
<version>${pom.version}</version>
<type>zip</type>
<outputDirectory>${basedir}/target/tmp</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>Copy Config, Env Modules</id>
<phase>generate-resources</phase>
<configuration>
<tasks>
<copy todir="${basedir}/target/myMessage/WEB-INF/classes/config" overwrite="true" verbose="true" failonerror="true">
<fileset dir="${basedir}/target/tmp/config">
<include name="**" />
</fileset>
<fileset dir="${basedir}/target/tmp/env">
<include name="**" />
</fileset>
</copy>
<copy todir="${basedir}/target/myMessage/WEB-INF/classes/config" overwrite="true" verbose="true" failonerror="true">
<fileset dir="../config/test" includes="**" />
</copy>
<copy file="${basedir}/../config/usp-app-config.xml" todir="${basedir}/target/myMessage/WEB-INF/classes/config" />
<copy file="${basedir}/../usp-env/src/test/env/usp-app-config.properties" todir="${basedir}/target/myMessage/WEB-INF/classes" />
<copy file="${basedir}/../usp-env/src/test/env/app-config.properties" todir="${basedir}/target/myMessage/WEB-INF/classes" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
EditorChangeEvent
и т. д. - она не будет делать это по умолчанию, обычно вам нужно добавить плагин - какой плагин был добавлен в ваш pom.xml? - person Nick Holt   schedule 22.01.2014