создать папку на основе имени пакета в Maven - PullRequest
0 голосов
/ 27 сентября 2018

Я создаю очень простой проект Java, и мне нужно сделать следующее:

Мне не нужен упакованный файл .jar, но файлы .class вместе с ресурсами, связанными с ним, т.е.У меня есть следующая структура:

enter image description here

Идея состоит в том, чтобы иметь возможность запускать сборку maven и иметь все классы и файлы свойств под плагинамипапки, как показано ниже:

enter image description here

Это потому, что мне нужно скопировать файлы классов и свойств Java с этой структурой в другое приложение, которое их использует.Я хочу автоматизировать процесс структурирования папок и просто скопировать папку плагинов и вставить ее в приложение, которое ее использует.

Как мне этого добиться?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы можете использовать Maven AntRun для выполнения простых манипуляций с файлами, таких как это (копирование, перемещение файлов) во время фазы пакета.

Базовым примером будет такой:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <phase>package</phase>
            <configuration>
                <tasks>
                    <!-- create a directory -->
                     <mkdir dir="plugins"/>
                     <!-- copy files from one dir to another -->
                     <copy todir="put your target directory here">
                        <fileset dir="put your source directory here">
                            <exclude name="**/something/**"/>
                        </fileset>
                    </copy>
                 </tasks>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Вы можете использовать список <tasks>, чтобы указать, что следует скопировать (переместить или удалить) и где, а также каталоги для создания.

Например

<mkdir dir="target/plugins"/>

Может создать каталог target/plugins, затем вы можете скопировать в него файлы, используя:

<copy todir="put your target directory here">
    <fileset dir="put your source directory here">
        <exclude name="**/something/**"/>
    </fileset>
</copy>

Затем, комбинируя эти правила, вы можете получить желаемую структуру.

...