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 ответа
@ Виджай Кришна, это не работает для меня, мое решение было.
- Сначала создайте mvn gwt:debug. При запуске maven запустит ваше приложение и прослушает порт 8000(нажмите на значок отладки).
- Во-вторых, создайте удаленную конфигурацию для подключения порта 8000.
Пока единственный способ, который я нашел, - это создать две конфигурации запуска.
- Одна конфигурация: Запустите команду maven: mvn gwt:run
- Вторая конфигурация: Удаленная отладка: укажите localhost и порт 8000.
Теперь сделайте:
- Запустите первый запуск конфигурации. Ваш джет-сервер запустится и скажет, что вы слушаете порт 8000.
- Затем запустите конфигурацию удаленной отладки, чтобы прослушать этот порт.
- Теперь поместите любую точку останова в коде, и отладчик должен поразить ее.
Пока это единственный способ, сработавший для меня. Evn я ищу вариант одного клика:)
Я мог бы настроить отладчик IntelliJ для корректной работы с maven. Вот что я сделал:
Это 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>
Создайте конфигурацию IntelliJ Run/Debug. В моем случае мой модуль называется Rap-Maven, а моя стартовая веб-страница - test.html.
- Когда я сконфигурировал 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:
А в веб-фасете каталог веб-ресурсов должен находиться в 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>
Надеюсь, это может быть полезным.