0

我目前正在开发一个基于 Maven 的应用程序。我想制作一个bat文件来运行最终的jar。我已经编写了调用 java -jar... 的 bat 文件并将其放入 src/main/resources/runners 文件夹中。我也不想将此文件添加到 jar 中,因此我将其从资源插件中排除。问题是 bat 没有被复制。我已经从他们的站点复制粘贴了 maven-resources-plugin 配置,但它不起作用。但是,我只想在调用 jar:jar 时复制 bat。应用程序托管在这里,因此您可以在那里查看详细信息。我试图这样绑定复制:

        <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 阶段和目标的信息,然后在官方文档中(从中一无所知)?

4

1 回答 1

1

您可以使用该pre-integration-test阶段,该阶段仅在构建成功创建您的 jar 时才会运行。然后,您将需要通过integration-testverifyinstall或运行构建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 。

于 2011-11-26T18:43:12.750 回答