IntelliJ: Как мне отладить проект Maven-GWT?

Я использую IntelliJ IDEA 8.1.2 на Win XP. У меня есть проект Maven 3.0.3, использующий плагин GWT 2.4. Это настроено ниже...

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

В IntelliJ, как мне запустить и отладить этот проект? Единственная релевантная ссылка, которую рекомендует Google - http://antonkirillov.wordpress.com/2011/03/22/creating-and-running-gwt-project-using-maven-and-intellij-idea-10/, заблокирована Брандмауэр нашей компании.

Если это полезно, у меня также установлен Tomcat 6.0.33.

Спасибо, Дэйв

3 ответа

@ Виджай Кришна, это не работает для меня, мое решение было.

  1. Сначала создайте mvn gwt:debug. При запуске maven запустит ваше приложение и прослушает порт 8000(нажмите на значок отладки).
  2. Во-вторых, создайте удаленную конфигурацию для подключения порта 8000.

Пока единственный способ, который я нашел, - это создать две конфигурации запуска.

  • Одна конфигурация: Запустите команду maven: mvn gwt:run
  • Вторая конфигурация: Удаленная отладка: укажите localhost и порт 8000.

Теперь сделайте:

  • Запустите первый запуск конфигурации. Ваш джет-сервер запустится и скажет, что вы слушаете порт 8000.
  • Затем запустите конфигурацию удаленной отладки, чтобы прослушать этот порт.
  • Теперь поместите любую точку останова в коде, и отладчик должен поразить ее.

Пока это единственный способ, сработавший для меня. Evn я ищу вариант одного клика:)

Я мог бы настроить отладчик IntelliJ для корректной работы с maven. Вот что я сделал:

  1. Это pom.xml:

    <dependencyManagement>
      <dependencies>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt</artifactId>
            <version>2.7.0-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>
    
    <dependencys>
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-user</artifactId>
        <!-- "provided" so that we don't deploy -->
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-dev</artifactId>
        <!-- "provided" so that we don't deploy -->
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-codeserver</artifactId>
        <!-- "provided" so that we don't deploy -->
        <scope>provided</scope>
      </dependency>
    </dependencys>
    
    <build>
    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
    <finalName>rap-maven-1.0</finalName>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
      <plugins> 
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>2.7.0-SNAPSHOT</version>
            <configuration>
    
                <logLevel>INFO</logLevel>
                <style>${gwt.style}</style>
                <compileReport>true</compileReport>
    
                <hostedWebapp>${webappDirectory}</hostedWebapp>
    
                <runTarget>index.html</runTarget>
                <module>Project</module>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>generateAsync</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <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>
     </plugins>
    

  2. Создайте конфигурацию IntelliJ Run/Debug. В моем случае мой модуль называется Rap-Maven, а моя стартовая веб-страница - test.html.

IntelliJ Run/Debug Configuration

  1. Когда я сконфигурировал gwt-maven-plugin и maven-war-plugin, на этапе пакета они генерируют разорванный каталог war в target \ rap-maven-1.0 и модуль gwt complied в target \ rap-maven-1.0 \ project, поэтому вам необходимо настроить структуру проекта, как указано:

В GWT Facet OutputRelativePath должен быть /target/rap-maven-1.0/project:

GWT Facet

А в веб-фасете каталог веб-ресурсов должен находиться в C: \ Proyectos \ Vulcano \ RAP \ rap-maven \ target \ rap-maven-1.0:

Веб-фасет

Ссылка на скрипт в test.html

<script type="text/javascript" language="javascript" src="project/project.nocache.js"></script>

Надеюсь, это может быть полезным.

Другие вопросы по тегам