使用远程服务器时,Maven插件找不到工件

时间:2013-06-19 20:37:34

标签: eclipse maven m2eclipse

我正在尝试编写自己的maven插件。当我手动mvn安装插件项目时,我可以毫无问题地使用它,但是我在从远程maven存储库中检索它时遇到了问题。如果我从.m2 / repository目录中删除com / company / my-plugin,然后尝试执行mvn install,则会出现此错误。

[WARNING] The POM for com.company:my-plugin:jar:0.0.1-SNAPSHOT is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.472s
[INFO] Finished at: Wed Jun 19 16:15:29 EDT 2013
[INFO] Final Memory: 4M/122M
[INFO] ------------------------------------------------------------------------
[ERROR] Plugin com.company:my-plugin:0.0.1-SNAPSHOT or one of its dependencies could not be resolved: Failed to read artifact descriptor for com.company:my-plugin:jar:0.0.1-SNAPSHOT: Could not find artifact com.company:my-plugin:pom:0.0.1-SNAPSHOT -> [Help 1]

pom中插件的唯一引用是在build / plugins部分:

<plugin>
    <groupId>com.company</groupId>
    <artifactId>my-plugin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <configuration>
        <sourceFiles>
            <sourceFile>infile.foo</sourceFile>
        </sourceFiles>
        <outputFile>outpath/myfile.foo</outputFile>
    </configuration>
    <executions>
        <execution>
            <phase>process-resources</phase>
            <goals>
                <goal>my-goal</goal>
            </goals>
        </execution>
    </executions>
</plugin>

我已经确认该项目存在于我们的远程存储库中,并且该存储库中的其他依赖项正在解析。但是,其他依赖项不是插件。

我是否需要指定其他配置来解决插件依赖项?有没有一种方法可以帮助我找出更具体地导致这个问题的原因?

2 个答案:

答案 0 :(得分:4)

原来我需要在pom中单独指定插件存储库的位置(除了正常指定远程存储库)。我错过了以下区块:

<pluginRepositories>
  <pluginRepository>
    <id>my-plugin-repo</id>
    <url>https://nexus.company.com:8443/path/to/repository/</url>
  </pluginRepository>
</pluginRepositories>

答案 1 :(得分:0)

“[警告]缺少com.company:my -plugin:jar:0.0.1-SNAPSHOT的POM,没有可用的依赖项信息”

您确定此插件项目的pom.xml是否存在于您尝试从中提取的插件远程存储库中?如果不是,我可能认为这应该是问题所在。