gpt4 book ai didi

maven-2 - maven-plugin : maven downloads only pom, 不是来自内部仓库的 jar 文件

转载 作者:行者123 更新时间:2023-12-04 05:46:46 25 4
gpt4 key购买 nike

我对 maven 很陌生,我在公司的 上编写和发布的插件遇到了一些问题。内部 (文件)存储库。

正如我所看到的,在 repo 的 url 上,插件的构建和发布似乎有效:

  • 已创建 repo 目录
  • 该目录包含:
  • pom 、 pom.sh1 、 pom.md5 文件
  • jar 、 jar.sh1 、 jar.md5 文件

  • 在我插件的 pom.xml 文件中,我引用了我们内部 repo 的 url :
    <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 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.myorg</groupId>
    <artifactId>myorg-build-info-plugin</artifactId>
    <packaging>maven-plugin</packaging>
    <version>1.0.0</version>
    <name>myorg-build-info-plugin Maven Mojo</name>
    <url>labserver.myorg-domain.com:8380/archiva/repository/internal</url>
    ....

    十我在另一个 pom.xml 中引用了这个插件:
    <plugin>
    <groupId>com.morg</groupId>
    <artifactId>myorg-build-info-plugin</artifactId>
    <version>1.0.0</version>
    ...

    我确实在同一个 pom.xml 中提供了内部存储库:
    <repositories>
    <repository>
    <id>myorg-repo</id>
    <name>Repository for Myorg Artifacts</name>
    <url>http://labserver.myorg-domain.com:8380/archiva/repository/internal</url>
    <layout>default</layout>
    </repository>

    最后,如果我对该 pom 文件执行 maven clean 操作(执行 mvn clean -e ),我收到以下错误:
    + Error stacktraces are turned on.
    [INFO] Scanning for projects...
    [INFO] ------------------------------------------------------------------------
    [INFO] Building com.myorg.projectname
    [INFO] task-segment: [clean]
    [INFO] ------------------------------------------------------------------------
    Downloading: http://repo1.maven.org/maven2/com/myorg/myorg-build-info-plugin/1.0.0/myorg-build-info-plugin-1.0.0.pom
    [INFO] Unable to find resource 'com.myorg:myorg-build-info-plugin:pom:1.0.0' in repository central (http://repo1.maven.org/maven2)
    Downloading: http://labserver.myorg-domain.com:8380/archiva/repository/internal/com/myorg/myorg-build-info-plugin/1.0.0/myorg-build-info-plugin-1.0.0.pom
    1K downloaded (myorg-build-info-plugin-1.0.0.pom)
    Downloading: http://repo1.maven.org/maven2/com/myorg/myorg-build-info-plugin/1.0.0/myorg-build-info-plugin-1.0.0.jar
    [INFO] Unable to find resource 'com.myorg:myorg-build-info-plugin:maven-plugin:1.0.0' in repository central (http://repo1.maven.org/maven2)
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] A required plugin was not found: Plugin could not be found - check that the goal name is correct: Unable to download the artifact from any repository

    Try downloading the file manually from the project website.

    Then, install it using the command:
    ...

    现在从我所看到的:
  • pom 文件是从我们的内部仓库中正确获取的
  • jar 文件获取失败,因为它试图从 http://repo1.maven.org/maven2 获取它

  • 我希望扫描所有存储库,尤其是文件中声明的内部存储库。

    显然,情况并非如此。

    因此,如果有人对为什么会发生这种情况有任何线索,我将非常感谢您的帮助!

    TIA,

    PS:我使用 maven 2.2.1 for debian with JDK 1.6.029

    最佳答案

    我建议的第一件事是使用像 Archiva 这样的存储库管理器。 , ArtifctoryNexus此外,我建议阅读以下文章:http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/ .
    除了前面的你需要定义一个 pluginRepository 区域是这样的:

     <pluginRepositories>
    <pluginRepository>
    <id>central</id>
    <name>Maven Plugin Repository</name>
    <url>http://repo1.maven.org/maven2</url>
    <layout>default</layout>
    <snapshots>
    <enabled>false</enabled>
    </snapshots>
    <releases>
    <updatePolicy>never</updatePolicy>
    </releases>
    </pluginRepository>
    </pluginRepositories>

    关于maven-2 - maven-plugin : maven downloads only pom, 不是来自内部仓库的 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10581866/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com