无法部署工件:无法找到工件

时间:2013-04-19 15:09:24

标签: maven artifactnotfoundexception

我想将库部署到我的公司远程存储库。

这是我第一次将库项目部署到远程存储库。

我收到以下错误消息:

  

org.sonatype.aether.transfer.ArtifactNotFoundException:找不到工件com.http:http:jar:0.0.1 in internal.repo(http://jenkins.internal.com/

也许我理解完全错误,但错误消息说,在远程存储库中不存在我第一次尝试部署的工件。所以当然没有这样的神器。当我尝试上传工件时,为什么maven会尝试获取工件?

我的pom文件:

<?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.0http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>
<groupId>com.http</groupId>
<artifactId>httpkit</artifactId>
<version>0.0.1</version>
<packaging>jar</packaging>
<name>httpkit</name>

<properties>
    <platform.version> 4.1.1.4</platform.version>
</properties>

<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>${platform.version}</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

<!-- Deploy to internal maven repository -->
<distributionManagement>
    <repository>
      <id>internal.repo</id>
      <name>Internal Repository</name>
      <url>http://jenkins.internal.com/</url>
    </repository>
</distributionManagement>

<build>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>3.5.3</version>
            <configuration>
                <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                <resourceDirectory>${project.basedir}/res</resourceDirectory>
                <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
                <sdk>
                    <platform>16</platform>
                </sdk>
               <undeployBeforeDeploy>true</undeployBeforeDeploy>
            </configuration>
            <extensions>true</extensions>
        </plugin>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.5.1</version>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>

    </plugins>
</build>
</project>

我打电话

  

mvn deploy

来自命令行

有任何建议如何解决这个问题?

编辑:失败日志(正在运行mvn deploy -X

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project httpkit: Failed to deploy artifacts: Could not find artifact com.http:httpkit:jar:0.0.1 in internal.repo (http://jenkins.internal.com) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project httpkit: Failed to deploy artifacts: Could not find artifact com.http:httpkit:jar:0.0.1 in internal.repo (http://jenkins.internal.com)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to deploy artifacts: Could not find artifact com.http:httpkit:jar:0.0.1 in internal.repo (http://jenkins.internal.com)
    at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:193)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException: Failed to deploy artifacts: Could not find artifact com.http:httpkit:jar:0.0.1 in internal.repo (http://jenkins.internal.com)
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:141)
    at org.apache.maven.plugin.deploy.AbstractDeployMojo.deploy(AbstractDeployMojo.java:167)
    at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:157)
    ... 21 more
Caused by: org.sonatype.aether.deployment.DeploymentException: Failed to deploy artifacts: Could not find artifact com.http:httpkit:jar:0.0.1 in internal.repo (http://jenkins.internal.com)
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:280)
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:211)
    at org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:443)
    at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:137)
    ... 23 more
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException: Could not find artifact com.http:httpkit:jar:0.0.1 in internal.repo (http://jenkins.internal.com/)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:947)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:941)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.run(WagonRepositoryConnector.java:837)
    at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:467)
    at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:274)
    ... 26 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

8 个答案:

答案 0 :(得分:15)

您是否尝试在settings.xml文件中添加服务器?默认设置xml位于〜/ .m2 /目录中。应该包含类似的内容:

<servers>
        <server>
            <id>my-internal-nexus-repo</id>
            <username>yourUserName</username>
            <password>yourPassword</password>
        </server>
</servers>

以下是添加服务器的http://maven.apache.org/settings.html maven doc的链接。

另一件可能是在黑暗中拍摄的东西。我注意到你正在尝试连接到url建议的Jenkins实例。 Jenkins是一个Continious Integration服务器,我觉得你在那里找到了你的存储库。我期待一个Nexus网址或其他东西。

答案 1 :(得分:6)

(添加一个迟到的答案,希望它可以帮助那些用Google搜索帮助的人......)

我也有这个问题。经过很多(非常多)头发拉动后,我意识到我只是拼错了存储库名称!

所以使用OP的例子:

Failed to deploy artifacts: Could not find artifact com.http:httpkit:jar:0.0.1 in internal.
repo (http://jenkins.intrnal.com)

实际意味着

Failed to deploy artifacts: Could not find internal.repo (http://jenkins.intrnal.com)

答案 2 :(得分:2)

我遇到了类似的问题并通过

解决了
  1. 在settings.xml中将我的nexus服务器添加为nonProxyHost
  2. 将第三方的存储库策略设置为Release而不是 快照。
  3. 在我的stackoverflow answer中查看更多详情。

    请注意,我正在执行“mvn deploy:deploy-file”(将第三方工件上传到共享存储库),而您正在执行“mvn deploy”(将您的工件从您构建的项目上传到共享存储库),但根本原因可能相同。

答案 3 :(得分:1)

我们已经遇到了这个问题。几个小时后,我们发现这是内部存储库中的磁盘空间问题。

答案 4 :(得分:0)

在我的情况下,pom.xml的snapshotRepository部分中的服务器url指向http,而我的内部存储库则以https托管。

答案 5 :(得分:0)

好的......几天前我遇到了同样的问题。 在摆弄各种排列和组合之后,我终于得出了结论。 那些说反应堆自动排序并解决所有依赖关系的人是不正确的。似乎下面的链接描述了这一切。请查看“Reactor Sorting”部分下的最后一点:

https://maven.apache.org/guides/mini/guide-multiple-modules.html#Reactor_Sorting

它表明,当没有其他规则适用时,会考虑定义模块的顺序。

我希望有助于其他人。 :)

答案 6 :(得分:0)

这是因为您的Maven无法找到设置文件。如果删除.m2无效,请尝试以下解决方案

转到您的作业配置

而不是“构建”部分

添加构建步骤:-调用顶级Maven目标并填充Maven版本和目标

比点击“高级”按钮并在图像中提及设置文件路径 enter image description here

答案 7 :(得分:0)

关于错误:

Failed to deploy artifacts: Could not transfer artifact

解决方案:

解决此问题的一种非常简单的方法就是更改/更新pom.xml文件中的版本。假设已经使用了01.16.03,然后尝试改用01.16.04。应该可以。