В Maven, как я могу включить не Java-файлы SRC в том же месте в выходной JAR? - PullRequest
42 голосов
/ 22 декабря 2010

Я получил пакет с исходным кодом.Внутри дерева каталогов src есть несколько файлов свойств (.properties), которые я хочу сохранить в выходном фляге в том же месте.Например: я хочу, чтобы

src/main/java/com.mycompany/utils/Myclass.java 
src/main/java/com.mycompany/utils/Myclass.properties

остался прежним в банке:

com.mycompany/utils/Myclass.class 
com.mycompany/utils/Myclass.properties

без необходимости добавлять файл свойств в отдельную папку ресурсов.Есть ли способ рассказать об этом мавену?

Ответы [ 3 ]

63 голосов
/ 22 декабря 2010

Вы можете добавить следующее в pom, указав, что ресурсы доступны в src/main/java и including типе ресурсов.

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
            </includes>
        </resource>
    </resources>
</build>
12 голосов
/ 25 ноября 2014

С этим фрагментом pom вы включаете все, что не является Java-файлом для основного и тестового артефактов:

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
    <testResources>
        <testResource>
            <directory>src/test/java</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>
</build>
1 голос
/ 21 ноября 2018

Включите и смешайте все ваши файлы не .java src и src / main / resources:

<resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>${project.build.sourceDirectory}</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>

    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
        </testResource>
        <testResource>
            <directory>${project.build.testSourceDirectory}</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </testResource>
    </testResources>
...