Плагин сборки Maven: исключение файлов при использовании стандартного descriptorRef - PullRequest
3 голосов
/ 17 февраля 2011

Я занимаюсь разработкой простого автономного Java-приложения для командной строки. Проект управляется Maven. Я хотел бы создать результат, который можно скопировать и запустить на компьютере клиента.

Плагин maven-assembly с типом jar-with-dependencies по умолчанию мне подходит, но Я не хочу упаковывать файл log4j.properties в банку. Я предпочел бы иметь его в отдельной папке "res".

Мне удалось поместить заголовок Class-Path в файл манифеста для папки res, но у меня возникли проблемы с исключением файла log4j.properties из сгенерированного jar.

Я пытаюсь исключить файл без написания пользовательского дескриптора сборки. Я хотел бы настроить решение по умолчанию, например:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <excludes>
            <exclude>**/log4j.properties</exclude>
        </excludes>
      <archive>
            <manifest>
              <mainClass>com.my.App</mainClass>
            </manifest>
            <manifestEntries>
                <Class-Path>res/</Class-Path>
            </manifestEntries>
      </archive>
      <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration></plugin>

но это не работает. Должен ли я написать собственный дескриптор сборки для этого?

1 Ответ

2 голосов
/ 21 февраля 2011

Из doc похоже, что вы не можете исключить файлы, настроив только параметры <plugin>.

<excludes> не выглядит как допустимый параметр для плагина и поэтому игнорируется.

...