消除 Maven 依赖重复

发布于 2024-10-21 17:18:38 字数 1358 浏览 4 评论 0原文

在我的 Maven 构建中,我使用 antrun 插件来调用 ant 任务。

        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <configuration>
                        <tasks>
                            <property name="plugin_classpath" refid="maven.plugin.classpath" />
                            <java classname="org.apache.tools.ant.launch.Launcher"
                                fork="true" failonerror="true">
                                <classpath>
                                    <pathelement path="${plugin_classpath}" />
                                </classpath>
                            </java>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>

            <dependencies>
                <!-- DEPENDENCIES FROM PROJECT DUPLICATED HERE -->
            </dependencies>
        </plugin>

我需要复制指定部分中的所有项目依赖项,以便它们可供 ant 任务使用。有没有办法通过引用项目的依赖项而不是复制粘贴它们来避免这种重复?

In my Maven build, I use the antrun plugin to invoke an ant task.

        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <configuration>
                        <tasks>
                            <property name="plugin_classpath" refid="maven.plugin.classpath" />
                            <java classname="org.apache.tools.ant.launch.Launcher"
                                fork="true" failonerror="true">
                                <classpath>
                                    <pathelement path="${plugin_classpath}" />
                                </classpath>
                            </java>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>

            <dependencies>
                <!-- DEPENDENCIES FROM PROJECT DUPLICATED HERE -->
            </dependencies>
        </plugin>

I need to duplicate all the project dependencies in the section indicated, so that they are available to the ant task. Is there a way to avoid this duplication, by referring to the project's dependencies instead of copy-pasting them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

剪不断理还乱 2024-10-28 17:18:38

具体操作方法如下:

<property name="plugin_classpath" refid="maven.plugin.classpath" />
<property name="compile_classpath" refid="maven.compile.classpath" />
<java classname="org.apache.tools.ant.launch.Launcher"
      fork="true" failonerror="true">
    <classpath>
        <pathelement path="${plugin_classpath}" />
        <pathelement path="${compile_classpath}" />
    </classpath>
</java>

参考:

Here's how you can do it:

<property name="plugin_classpath" refid="maven.plugin.classpath" />
<property name="compile_classpath" refid="maven.compile.classpath" />
<java classname="org.apache.tools.ant.launch.Launcher"
      fork="true" failonerror="true">
    <classpath>
        <pathelement path="${plugin_classpath}" />
        <pathelement path="${compile_classpath}" />
    </classpath>
</java>

Reference:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文