maven копия файла летучей мыши рядом с банкой - PullRequest
0 голосов
/ 26 ноября 2011

В настоящее время я разрабатываю приложение на основе maven.Я хочу сделать файл с битой для запуска финальной банки.Я написал bat-файл с вызовом java -jar ... и поместил его в папку src / main / resources / runners.Я также не хочу добавлять этот файл в jar, поэтому я исключил его из плагина ресурсов.Проблема в том, что летучая мышь не копируется.Я скопировал конфигурацию плагина maven-resources-plugin со своего сайта , он не работает.Однако я хочу копировать bat только во время вызова jar: jar.Приложение размещено здесь , так что вы можете увидеть детали там.Я пытался связать копирование так:

        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.5</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <!-- here the phase you need -->
                    <phase>validate</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/target</outputDirectory>
                        <resources>
                            <resource>
                                <directory>src/main/runners</directory>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>

Также пробовал <phase>package</phase> и <goal>jar</goal><goal>jar:jar</goal>).Никакого эффекта.

Кстати: где я могу прочитать о maven фазах и целях более подробно, чем в официальной документации (ничего не понял из нее)?

1 Ответ

1 голос
/ 26 ноября 2011

Вы можете использовать фазу pre-integration-test, которая будет выполняться только в том случае, если ваша банка была успешно создана при сборке.Затем вам нужно будет выполнить сборку через integration-test, verify, install или deploy, чтобы убедиться, что copy-resources запущен.

<plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.5</version>
        <executions>
            <execution>
                <id>copy-builders</id>
                <!-- here the phase you need -->
                <phase>pre-integration-test</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <outputDirectory>${project.build.directory}</outputDirectory>
                    <resources>
                        <resource>
                            <directory>src/main/runners</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>

Вы можете прочитать больше ожизненный цикл по адресу: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html.

...