Я успешно настроил несколько проектов, которые используют Maven для автоматического развертывания сгенерированного Maven сайта в ветке gh-pages своего репозитория git. Затем GitHub обслуживает эти файлы по общедоступному URL-адресу в личном поддомене. Я хочу использовать эту функцию для обслуживания многофункционального приложения GWT только на стороне клиента.

Я изменил свой pom.xml, чтобы скомпилировать приложение GWT в каталог target/site/. Две основные цели, которых я все еще пытаюсь достичь:

  • Как предотвратить запуск стандартного плагина сайта Maven на этапе site?
  • Что требуется для выполнения gwt:compile на этапе site?
2
Jake Wharton 7 Апр 2011 в 05:14
Удалось ли вам заставить это работать?
 – 
Tahir Akhtar
16 Авг 2011 в 14:07

1 ответ

Цель можно привязать к фазе, указав новое выполнение для плагина. Я предполагаю, что у вас есть некоторые пользовательские вещи, которые вам нужны, чтобы большая часть этого работала правильно, поэтому я просто собираюсь сосредоточиться на том, что должно работать, чтобы связать цель плагина с определенной фазой.

<plugin>
  <artifactId>gwt-maven-plugin</artifactId>
  ...
  <executions>
    <execution>
      <id>gwt-site</id>
      <phase>site</phase><!-- phase to bind to -->
      <goals>
        <goal>compile</goal><!-- goal to run in that phase -->
      </goals>
      <configuration>
        <!-- Your magic configuration stuff goes here -->
      </configuration>
    </execution>
    <!-- Possible other executions might be defined here -->
  </executions>
</plugin>

Предотвращение запуска сайта maven по умолчанию более интересно, так как это фаза, с которой связаны различные цели. Запуск стандартной цели site:site на этапе сайта можно предотвратить, явно указав выполнение без целей. Это может немного отличаться от maven 2 до 3, поэтому я буду здесь немного общим. Взгляните на свои журналы сборки, чтобы увидеть, что в настоящее время указано с точки зрения идентификатора выполнения, идентификатора группы/артефакта, чтобы исправить возможные упущения в моем примере:

<plugin>
  <artifactId>maven-site-plugin</artifactId>
  ...
  <executions>
    <execution>
      <phase>site</phase>
      <goals></goals><!-- This is empty to indicate that no goals should be run in this phase -->
    </execution>
  </executions>
</plugin>
0
Colin Alworth 18 Сен 2011 в 23:08