首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用com.googlecode.maven下载多个工件-下载-插件

使用com.googlecode.maven下载多个工件-下载-插件
EN

Stack Overflow用户
提问于 2022-03-14 14:13:30
回答 1查看 191关注 0票数 0

我想使用下载-maven-plugin从Maven存储库下载几个工件

我可以下载一个很好的工件,但是当我添加一个秒时,它就被忽略了:

代码语言:javascript
运行
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.me</groupId>
    <artifactId>libdownloader</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>com.googlecode.maven-download-plugin</groupId>
                <artifactId>download-maven-plugin</artifactId>
                <version>1.6.8</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <id>download-maven-plugin-lang3</id>
                        <goals>
                            <goal>artifact</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-lang3</artifactId>
                    <version>3.12.0</version>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.googlecode.maven-download-plugin</groupId>
                <artifactId>download-maven-plugin</artifactId>
                <version>1.6.8</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <id>download-maven-plugin-guava</id>
                        <goals>
                            <goal>artifact</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                    <version>31.1-jre</version>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

我认为问题在于,应该为每个configuration指定execution,而plugin只声明一次,但这不能编译:

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.me</groupId>
    <artifactId>libdownloader</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <build>
        <plugins>
            <plugin>
                <groupId>com.googlecode.maven-download-plugin</groupId>
                <artifactId>download-maven-plugin</artifactId>
                <version>1.6.8</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <id>download-maven-plugin-lang3</id>
                        <goals>
                            <goal>artifact</goal>
                        </goals>
                        <configuration>
                            <groupId>org.apache.commons</groupId>
                            <artifactId>commons-lang3</artifactId>
                            <version>3.12.0</version>
                        </configuration>
                    </execution>
                    <execution>
                        <phase>generate-sources</phase>
                        <id>download-maven-plugin-guava</id>
                        <goals>
                            <goal>artifact</goal>
                        </goals>
                        <configuration>
                            <groupId>com.google.guava</groupId>
                            <artifactId>guava</artifactId>
                            <version>31.1-jre</version>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Failed to execute goal com.googlecode.maven-download-plugin:download-maven-plugin:1.6.8:artifact (default-cli) on project libdownloader: The parameters 'groupId', 'artifactId', 'version' for goal com.googlecode.maven-download-plugin:download-maven-plugin:1.6.8:artifact are missing or invalid

或者,如果有另一种方法从Maven存储库下载到文件(特别是需要从settings.xml进行身份验证的私有存储库)--例如使用货车--那么这个方法也可以工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-15 13:40:07

https://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html似乎是解决所述问题的更好方法。它将:

将项目依赖项从存储库复制到定义位置的目标。

您可以运行mvn org.apache.maven.plugins:maven-dependency-plugin:copy-dependencies。这将读取POM中的依赖项,正常使用settings.xml并复制它们。默认情况下,我认为target是一个目录,但它是可配置的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71469160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档