2016-09-28 9 views
3

Я создал проект GWT с конфигурацией Maven на этом пути:проект GWT Maven сделал с WebAppCreator не работают в DEVMODE

webAppCreator -out HelloWorldGWT -templates sample,maven,readme ua.vitvyaz.hellowordgwt.HelloWorldGWT 

Я попытался запустить проект по DEVMODE:

mvn gwt:devmode 

Но в браузере я получил:

"HTTP ERROR 404 

Problem accessing /HelloWorldGWT.html. 

Reason: Not Found" 

Я смотрел, каталог WEB-INF был пуст.

Что не так в pom.xml?

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>ua.vitvyaz.hellowordgwt</groupId> 
 
    <artifactId>HelloWorldGWT</artifactId> 
 
    <packaging>war</packaging> 
 
    <version>1.0-SNAPSHOT</version> 
 
    <name>ua.vitvyaz.hellowordgwt.HelloWorldGWT</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.8.0-rc1</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> 
 
    </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-6</version> 
 
     <executions> 
 
      <execution> 
 
      <goals> 
 
       <goal>import-sources</goal> 
 
       <goal>compile</goal> 
 
       <goal>import-test-sources</goal> 
 
       <goal>test</goal> 
 
      </goals> 
 
      </execution> 
 
     </executions> 
 
     <configuration> 
 
      <moduleName>ua.vitvyaz.hellowordgwt.HelloWorldGWT</moduleName> 
 
      <moduleShortName>HelloWorldGWT</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>HelloWorldGWT.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> 
 
    </build> 
 
</project>

ответ

3

из документации GWT page вы должны запустить mvn gwt:run, чтобы открыть новое приложение в superDevMode.

UPDATE

Вы должны построить ваш проект до запуска. Другими словами попробовать:

mvn clean package gwt:devmode

Это должно работать.

+0

mvn gwt: run не работает: [ERROR] Не удалось найти цель «запустить» в плагине net.ltgt.gwt.maven: gwt-maven-plugin: 1.0-rc-6 среди доступных целей add-super -sources, add-test-super-sou s, codeerver, compile, devmode, принудительное кодирование, генерация-модуль, генерация-модуль-метаданные, справочная информация, импорт-источники, импорт-тестовые источники, пакет-приложение est -> [Помощь 1] –

+0

@VitVyaz Да, вы правы, похоже, у них есть ошибка на их сайте. Я смотрю на это, и я обновлю свой ответ, если найду решение. Приносим извинения за неудобства. – pleft

+0

@VitVyaz Я думаю, что нашел его, пожалуйста, уточните мой обновленный ответ – pleft

3

Из README.txt, что webAppCreator генерируемой:

-- Option D: Using Maven -- 

If you have generated your project with the option '-maven', you have a 'pom.xml' 
file ready to use. Assuming you have Maven installed in your system, 'mvn' is 
in your path, and you have access to maven repositories, you should be able to run: 

mvn clean   # delete temporary stuff 
mvn test   # run all the tests (gwt and junit) 
mvn gwt:devmode # run development mode (needs "mvn package" to be run before) 
mvn package  # generate a .war package ready to deploy 

For more information about other available goals, read Maven and gwt-maven-plugin 
documentation (http://maven.apache.org, https://tbroyer.github.io/gwt-maven-plugin/) 

так первый запуск mvn package, затем mvn run:devmode.

Веб-сайт по-прежнему содержит документы GWT 2.7, а не 2.8 (по состоянию на сентябрь 2016 года).

Смежные вопросы