Я пытался преобразовать веб-проект, который создает файл войны, в maven. моя существующая структура проекта выглядит следующим образом -
MyWebProject
|
- WEB-INF / src - содержит несколько пакетов, таких как com.myweb.client, com.myweb.server и т. Д.
- WEB-INF / test - содержит 1 пакет com.myweb.tests
- web-scripts - содержит набор скриптов (просто папка; не в пути к классам)
- misc-files1 - содержит наборы разных файлов 1
- misc-files2 - аналогично указанному выше
В настоящее время создается файл войны с использованием сценария ant, в результате чего структура файла войны выглядит следующим образом
myweb.war
- Meta-INF (содержит только MANIFEST.MF)
- WEB-INF
- занятия
- com.myweb.client
- com.myweb.server и т. д.
- веб-скрипты
- misc-files1
- разное-файлы2
Я создал простой проект Maven с использованием simple-artifact и добавил свои пакеты. я использую плагин сборки maven для генерации файла войны и наборы файлов для фильтрации. но мои итоговые военные данные не так близки к тому, что я получаю с муравьем вот сокращенная версия моего файла assembly.xml
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>assembler</id>
<formats>
<format>war</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet/>
</dependencySets>
<fileSets>
<fileSet>
<directory>src/main/java</directory>
<outputDirectory>WEB-INF</outputDirectory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet>
<directory>es</directory>
<outputDirectory>resources1</outputDirectory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet>
<directory>resources2</directory>
<outputDirectory>resources2</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet>
<fileSet>
<directory>test</directory>
<outputDirectory>WEB-INF</outputDirectory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</assembly>
Чтобы создать пользовательскую войну, есть плагин сборки правильный подход. Я всегда могу включить свой сценарий ant в pom, используя maven-antrun-plugin, но я хочу по возможности избегать использования ant. любые предложения.