Добавление апплета в подмодуле в файл WAR в Maven - PullRequest
6 голосов
/ 19 августа 2011

У меня есть проект Maven2 с двумя подмодулями, расположенными так:

parentproject
|---war-file-project
|---applet-project

POM в каждом из них имеют соответствующие отношения родитель-модуль. applet-project содержит простой апплет и настроен на упаковку JAR. war-file-project содержит простой проект файла WAR и настроен с упаковкой WAR.

При сборке я хотел бы убедиться, что WAR-файл содержит полученный JAR-файл из applet-project в каталоге /applets.

Как мне это сделать?

Ответы [ 3 ]

7 голосов
/ 19 августа 2011

Для этого вы можете просто использовать плагин maven-dependency-plugin для копирования зависимости в соответствующее местоположение.

Создан полный пример , который вы можете использовать в качестве шаблона.

2 голосов
/ 22 сентября 2011

Спасибо khmarbaise за отличный шаблон!

Я также обнаружил, что можно настроить его следующими изменениями:

  • добавьте <scope>provided</scope> к «дополнительной» зависимости в war / pom.xml - тогда файл extramental.jar не будет дублироваться в / WEB-INF / lib
  • добавьте <stripVersion>true</stripVersion> в пример конфигурации плагина maven-dependency-plugin - тогда апплет будет находиться в 'extramental.jar' вместо чего-то вроде 'Suppmenmen-0.1.0-SNAPSHOT.jar'
  • изменить ${project.artifactId}-${project.version} в <outputDirectory> на более надежный ${project.build.finalName}
0 голосов
/ 19 августа 2011

Вы должны определить зависимость в war-проекте от вашего applet-проекта.

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>applet-project</artifactId>
  <version>${project.version}</version>
</dependency>
...