Как запретить Maven Webstart создать файл zip? - PullRequest
2 голосов
/ 17 августа 2011

Я использую Maven для моего цикла сборки, включая использование maven-webstart-plugin для генерации файла jnlp. Этот процесс подписывает jar-файлы и создает jnlp из шаблона (что прекрасно), но затем также создает zip-файл со всеми подписанными jar-файлами и jnlp-файлом (что может быть полезно, но я не хочу).

Документы по плагину maven-webstart не особенно полны ... http://mojo.codehaus.org/webstart/webstart-maven-plugin/jnlp-mojos-overview.html

На самом деле, я считаю, что stackoverflow - лучший источник полезной информации - например, Ищем пример приложения Webstart Maven Plugin

Там , кажется, - способ сделать это в конфигурации maven-webstart-plugin - например, (из приведенных выше примеров):

<plugins>
  <plugin>
    <groupId>org.codehaus.mojo.webstart</groupId>
    <artifactId>webstart-maven-plugin</artifactId>
    <configuration>
      ...
      <pack200>true</pack200>
      <gzip>true</gzip> <!-- default force when pack200 false, true when pack200 selected ?? -->
      ...
    </configuration>
  </plugin>
</plugins>

Кто-нибудь знает, что делает тег?

Я ожидал, что тег позволит исключить создание zip-файла, установив для него значение false , но мое тестирование показывает, что это не так. На самом деле это не так, кто-нибудь знает, что делает тег ?

Наконец, если это не релевантные теги, возможно ли предотвратить создание zip-файла? Если да, то как?

1 Ответ

4 голосов
/ 11 октября 2011

Вы можете отключить создание полного zip-архива, добавив <makeArchive>false</makeArchive> к конфигурации подключаемого модуля веб-запуска.

Как вы знаете, использование <pack200>true</pack200> создает дополнительную сжатую версию pack200 библиотек в вашем дистрибутиве..

При добавлении <gzip>true</gzip> каждая упакованная библиотека сжимается с помощью gzip.

В зависимости от используемой комбинации конфигурации вы получите такие библиотеки:

  • log4j-1.2.16.jar
  • log4j-1.2.16.jar.pack
  • log4j-1.2.16.jar.pack.gz

Кажется, для настройки gzip пакет200 включен.Распакованные / несжатые версии всегда включены в дистрибутив.

Я уверен, что вы знаете, что ваш файл jnlp должен включать следующее, чтобы использовать упакованные / gzipped библиотеки:

<resources>
  <property name="jnlp.packEnabled" value="true"/>
</resources>

Результаты Pack200 / gzip для одного из моих приложений JWS:

  • Распакованные / разархивированные банки: 13 167 855 байт
  • Упакованные банки Pack200: 11 807799 байт
  • Упакованные и разархивированные банки: 4 821 048 байт

Как видите, комбинация pack200 / gzip существенно изменит время установки и обновления.

...