Почему плагин Maven JAR не включает некоторые ресурсы?

У меня есть корпоративное приложение, которое я нахожусь в процессе преобразования из сборки Ant в Maven. Это почти полностью преобразовано; это самое последнее, что мне нужно исправить. Приложение упаковано в файл EAR, который содержит две WAR-файлы и содержит модуль JAR, который обеспечивает все основные функции приложения.

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

Модуль Maven, который определяет JAR, имеет следующий POM:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <relativePath>../../pom.xml</relativePath>
        <groupId>com.company.project</groupId>
        <artifactId>projectName</artifactId>
        <version>1.8.0</version>
    </parent>

    <artifactId>core</artifactId>
    <packaging>jar</packaging>
    <name>Core Application</name>

    <profiles>
       <!-- snip -->
    </profiles>

    <dependencies>
       <!-- snip -->
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.ftl</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <!-- snip -->
        </plugins>
    </build>
</project>

Файлы * .ftl находятся в каталоге src / main / resources / template /, а некоторые находятся в подкаталоге внутри template /. В src / main / resources есть другие файлы - некоторые .properties и некоторые .xml, некоторые в корне, а некоторые в структуре каталогов.

Когда я запускаю фазу пакета в этом модуле (или в родительском), каталог target / classes, созданный как часть процесса сборки, содержит каталог шаблонов, который, в свою очередь, содержит все * .ftl, * .xml и * Файлы .properties с соответствующей структурой каталогов. Если я справлюсь с этим каталогом вручную, все будет отлично.

Вот где это становится странным, и я теряюсь: когда maven-jar-plugin создает JAR, он включает в себя XML и файлы свойств, но каталог шаблонов полностью отсутствует в JAR, и его содержимое нигде не найдено.

Как вы можете видеть выше, я попытался явно включить ** / *. Ftl. Это не имеет значения; Я могу исключить весь тег «include» и получаю точно такое же поведение.

Я использую Maven 3.0.5 и maven-jar-plugin 2.4.

Ответы на вопрос(1)

Ваш ответ на вопрос