代码之家  ›  专栏  ›  技术社区  ›  M. Winnicki

GWT和继承模块

  •  0
  • M. Winnicki  · 技术社区  · 2 年前

    我知道在这个问题上有很多类似的问题,但没有一个对我有帮助。我想这可能是因为我在maven和gwt方面的相对技能水平,但我想寻求帮助。

    我目前遇到了以下错误: enter image description here

    它适用于com中列出的每个类文件。我的服务器包。 enter image description here

    下面是pjg。gwt。xml文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <!--
      When updating your version of GWT, you should also update this DTD 
    reference,
      so that your app can take advantage of the latest GWT module 
    capabilities.
    -->
    <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.9.0//EN"                             
    "https://www.gwtproject.org/doctype/2.9.0/gwt-module.dtd">
    <module rename-to='com'>
      <!-- Inherit the core Web Toolkit stuff.                        -->
      <inherits name='com.google.gwt.user.User'/>
      <!-- Inherit the default GWT style sheet.  You can change       -->
      <!-- the theme of your GWT application by uncommenting          -->
      <!-- any one of the following lines.                            -->
      <inherits name='com.google.gwt.user.theme.clean.Clean'/>
      <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
      <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
      <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->
      <!-- Other module inherits                                      -->
      <!-- Specify the app entry point class.                         -->
      <entry-point class='com.client.pjg'/>
      <!-- Specify the paths for translatable code                    -->
      <source path='client'/>
      <source path='shared'/>
      <source path='server'/>
      <!-- allow Super Dev Mode -->
      <add-linker name="xsiframe"/>
    </module>
    

    这是我的pom。xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <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</groupId>
      <artifactId>pjg</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>com.pjg</name>
    
      <properties>
    
        <!-- Setting maven.compiler.source to something different to 1.8
         needs that you configure the sourceLevel in gwt-maven-plugin since
         GWT compiler 2.8 requires 1.8 (see gwt-maven-plugin block below) -->
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    
        <!-- Don't let your Mac use a crazy non-standard encoding -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      </properties>
    
      <dependencyManagement>
        <dependencies>
          <!-- ensure all GWT deps use the same version (unless overridden) -->
          <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt</artifactId>
            <version>2.9.0</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
    
      <dependencies>
        <dependency>
          <groupId>com.google.gwt</groupId>
          <artifactId>gwt-servlet</artifactId>
          <scope>runtime</scope>
        </dependency>
        <dependency>
          <groupId>com.google.gwt</groupId>
          <artifactId>gwt-user</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>com.google.gwt</groupId>
          <artifactId>gwt-dev</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.11</version>
          <scope>test</scope>
        </dependency>
            <!-- https://mvnrepository.com/artifact/com.smartgwt/smartgwt -->
        <dependency>
            <groupId>com.smartgwt</groupId>
            <artifactId>smartgwt</artifactId>
            <version>2.4</version>
        </dependency>
      </dependencies>
    
      <build>
        <!-- Output classes directly into the webapp, so that IDEs and "mvn process- 
    classes" update them in DevMode -->
        <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB- 
    INF/classes</outputDirectory>
    
    <plugins>
    
      <!-- GWT Maven Plugin-->
      <plugin>
        <groupId>net.ltgt.gwt.maven</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <version>1.0-rc-8</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <moduleName>com.pjg</moduleName>
          <moduleShortName>pjg</moduleShortName>
          <failOnError>true</failOnError>
          <!-- GWT compiler 2.8 requires 1.8, hence define sourceLevel here if you 
    use
               a different source language for java compilation -->
          <sourceLevel>1.8</sourceLevel>
          <!-- Compiler configuration -->
          <compilerArgs>
            <!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) -->
            <arg>-compileReport</arg>
            <arg>-XcompilerMetrics</arg>
          </compilerArgs>
          <!-- DevMode configuration -->
          <warDir>${project.build.directory}/${project.build.finalName}</warDir>
          <classpathScope>compile+runtime</classpathScope>
          <!-- URL(s) that should be opened by DevMode (gwt:devmode). -->
          <startupUrls>
            <startupUrl>pjg.html</startupUrl>
          </startupUrls>
        </configuration>
      </plugin>
    
      <!-- Skip normal test execution, we use gwt:test instead -->
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.17</version>
        <configuration>
          <skip>true</skip>
        </configuration>
      </plugin>
    
    </plugins>
    

    我认为pom或gwt中的声明都存在问题。xml文件,但我似乎搞不懂。我在gwt中声明了源路径。xml,我相信我在pom中拥有所需的一切。xml。我唯一的另一个想法是,可能有什么东西贴错了标签/标题?在这一点上真的很不确定,并且认为另一双眼睛会有所帮助。

    我有什么明显的遗漏吗?

    提前谢谢!

    1 回复  |  直到 2 年前
        1
  •  1
  •   Tony BenBrahim    2 年前

    您的代码正在使用SmartGWT库,因此需要在模块(.gwt.xml)文件中声明它,如下所示:

    <inherits name='com.smartgwt.SmartGwt' />
    

    您可能需要检查SmartGwt文档中的版本,以确保这仍然是正确的入口点。