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

标签 maven-2 maven-plugin

我对 Maven 还很陌生,在使用我编写并发布在公司内部(archiva)存储库上的插件时遇到了一些麻烦。

正如我所见,插件的构建和发布似乎在存储库的 URL 上有效:

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

在我的插件的 pom.xml 文件中,我引用了我们内部存储库的 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: 
...

现在从我所看到的:

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

显然事实并非如此。

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

TIA,

PS:我使用 Maven 2.2.1 for debian 和 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/

相关文章:

maven-2 - 默认情况下激活配置文件

android - 使用多个 `POM file is invalid`时如何修复 `exclude`?

maven-plugin - 如何在 Quarkus 中为 Gradle 的外部模块中的类创建 Jandex 索引

maven-2 - 如何递归地解决 Maven 2 插件中的依赖项

java - 带有用于启动/停止的 Maven 插件的轻量级 Java 数据库?

java - 我们如何在 Scala 中编写 maven2 插件?

com.netflix.governator.guice.BootstrapBinder.install 中的 java.net.MalformedURLException

linux - 如何在 64 位 Linux 上为 Eclipse 安装 Maven 2 插件?

maven-2 - Maven : unable to install 3rd party jar

java - 如何让我的 Maven 集成测试运行