1

GWTプロジェクトを構築していますが、GwtTest*.java単体テストの実行に問題があります。プロジェクトを開発者モード(mvn gwt:run)で実行できます。ただし、「mvnintegration-test」または「mvngwt:test」を使用して単体テストを実行しようとすると、次のエラーが発生します。

Loading inherited module 'com.mycompany.site.client.myproject'
   [ERROR] Unable to find 'com/mycompnay/site/client/myproject.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?

以下は私のpom.xmlです

<project
  xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

 <!-- POM file generated with GWT webAppCreator -->
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.mycompany</groupId>
 <artifactId>myproject</artifactId>
 <packaging>war</packaging>
 <version>0.0.1-SNAPSHOT</version>
 <name>GWT Maven Archetype</name>

 <properties>
   <!-- Convenience property to set the GWT version -->
   <gwtVersion>2.4.0</gwtVersion>
   <!-- GWT needs at least java 1.5 -->
   <webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>

 <dependencies>
   <dependency>
     <groupId>com.google.gwt</groupId>
     <artifactId>gwt-servlet</artifactId>
     <version>${gwtVersion}</version>
     <scope>runtime</scope>
   </dependency>
   <dependency>
     <groupId>com.google.gwt</groupId>
     <artifactId>gwt-user</artifactId>
     <version>${gwtVersion}</version>
     <scope>provided</scope>
   </dependency>
   <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.7</version>
     <scope>test</scope>
   </dependency>
   <dependency>
     <groupId>javax.validation</groupId>
     <artifactId>validation-api</artifactId>
     <version>1.0.0.GA</version>
     <scope>test</scope>
   </dependency>
   <dependency>
     <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.0.0.GA</version>
    <classifier>sources</classifier>
    <scope>test</scope>
   </dependency>
  </dependencies>

<build>
  <!-- Generate compiled stuff in the folder used for developing mode -->
  <outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>

  <plugins>

    <!-- GWT Maven Plugin -->
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>gwt-maven-plugin</artifactId>
      <version>2.4.0</version>
      <executions>
        <execution>
          <goals>
            <goal>compile</goal>
            <goal>test</goal>
            <goal>i18n</goal>
            <goal>generateAsync</goal>
            <goal>mergewebxml</goal>
          </goals>
        </execution>
      </executions>
      <!-- Plugin configuration. There are many available options, see 
      gwt-maven-plugin documentation at codehaus.org -->
      <configuration>
        <runTarget>myproject.html</runTarget>
        <hostedWebapp>${webappDirectory}</hostedWebapp>
        <i18nMessagesBundle>com.mycompany.site.client.Messages</i18nMessagesBundle>

      </configuration>
    </plugin>

  <!-- Copy static web files before executing gwt:run -->
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <executions>
      <execution>
        <phase>compile</phase>
        <goals>
          <goal>exploded</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <webappDirectory>${webappDirectory}</webappDirectory>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
      <source>1.5</source>
      <target>1.5</target>
    </configuration>
  </plugin>
</plugins>
</build>
</project>

GWT Maven Archetypeを使用してGWTプロジェクトを作成するときに、Mavenによって生成されるデフォルトのプロジェクト構造を使用しています。したがって、私のmyproject.gwt.xmlはsrc / main / resources / com / mycompany / site/myproject.gwt.xmlにあります。この問題についての助けをいただければ幸いです。

4

1 に答える 1

0

私は自分の問題を理解しました。何が返ってくるのか誤解しました

public String getModuleName() { . . . }

私はもともとエントリポイントクラスへのパスを返していましたが、gwt.xmlファイルへのパスを返すことになっています。「モジュール」が何を指しているのか理解できませんでした。

于 2012-06-04T17:13:27.353 に答える