2013-04-19 23 views
16

Tôi muốn triển khai thư viện cho kho lưu trữ từ xa của công ty mình.Không thể triển khai hiện vật: Không thể tìm thấy hiện vật

Đây là lần đầu tiên tôi muốn triển khai dự án thư viện tới kho lưu trữ từ xa.

tôi nhận được thông báo lỗi sau:

org.sonatype.aether.transfer.ArtifactNotFoundException: Không thể tìm com.http vật: httpkit: jar: 0.0.1 trong internal.repo (http://jenkins.internal.com/)

Có lẽ tôi hiểu điều gì đó hoàn toàn sai, nhưng thông báo lỗi cho biết, trong kho lưu trữ từ xa không tồn tại tạo tác mà tôi cố gắng triển khai lần đầu tiên. Vì vậy, tất nhiên không có hiện vật như vậy. Tại sao maven cố gắng tìm nạp phần tạo tác khi tôi cố gắng tải lên phần tạo tác?

pom tập tin của tôi:

<?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> 

tôi gọi

mvn triển khai

từ dòng lệnh

Bất kỳ đề nghị làm thế nào để khắc phục vấn đề đó?

EDIT: Nhật ký thất bại (chạy 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 
+0

Mục tiêu nào bạn đang cố chạy từ bản dựng không thành công? Bạn có thể vui lòng đăng vài dòng cuối cùng của nhật ký xây dựng chính xác như chúng xuất hiện không? –

+0

Xin chào, mục tiêu là org.apache.maven.plugins: maven-deploy-plugin: 2.7: triển khai (mặc định triển khai). Tôi đã thêm dấu vết ngăn xếp lỗi. – sockeqwe

+1

Đăng toàn bộ các tệp 'pom.xml' và' settings.xml' của bạn. Maven không cố tải xuống jar thực tế của dự án, mà đúng hơn là - nếu có tệp '.pom' đã được triển khai cho máy chủ từ xa. Phiên bản của Maven là gì? Bạn đang sử dụng kho lưu trữ nào (Nexus, Artifactory, Archiva)? Bạn đã thiết lập người dùng có quyền thích hợp trong đó chưa? – carlspring

Trả lời

15

Bạn đã cố gắng thêm các máy chủ trong tập tin settings.xml của bạn? Cài đặt mặc định xml nằm trong thư mục ~/.m2 /. Nên chứa một cái gì đó như thế:

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

Đây là liên kết đến http://maven.apache.org/settings.html maven doc để thêm máy chủ.

Một thứ khác có thể là ảnh chụp trong bóng tối. Tôi đã nhận thấy rằng bạn đang cố gắng kết nối với những gì url gợi ý có thể là một cá thể Jenkins. Jenkins là một máy chủ tích hợp liên tục và có vẻ lạ đối với tôi rằng bạn đang tìm kho của bạn ở đó. Tôi sẽ mong đợi một url Nexus hoặc một cái gì đó.

+0

Vâng, bạn nói đúng. Tôi đã có một lỗi trong lý luận. Jenkins có một plugin kho lưu trữ maven, nhưng ý tưởng không phải là triển khai plugin đó, giống như tôi sẽ làm với nexus (đó là cách tôi nghĩ plugin này hoạt động), nhưng để cho jenkins xây dựng dự án và thêm các tạo phẩm cho jenkins local maven kho. Sau đó, có thể cho các nhà phát triển của chúng tôi sử dụng kho lưu trữ maven cục bộ jenkins như một kho lưu trữ từ xa :) – sockeqwe

+0

điều này là sai. Các id nên giống như id trong pom để internal.repo và không phải là url –

+1

@ManfredMoser có, bạn là đúng, không phải là url của một repo, nhưng tên của thingy như bạn đặt tên nó , ví dụ: maven-central –

2

Tôi chạy vào một vấn đề tương tự và giải quyết bằng cách

  1. Thêm máy chủ mối quan hệ của tôi như là một nonProxyHost trong settings.xml
  2. Thiết Policy Repository các bên thứ 3 để Thả hơn Snapshot.

Xem thêm chi tiết trong số stackoverflow answer.

Lưu ý rằng tôi đã thực hiện "mvn deploy: deploy-file" (tải lên một tạo phẩm của bên thứ ba tới kho lưu trữ được chia sẻ) trong khi bạn đang thực hiện "triển khai mvn" (tải lên tác phẩm của bạn từ dự án đã xây dựng của bạn đến kho lưu trữ được chia sẻ), nhưng nguyên nhân gốc rễ có thể giống nhau.

4

(Thêm một câu trả lời cuối với hy vọng rằng nó có thể giúp những người có googled để được giúp đỡ ...)

Tôi có vấn đề này là tốt. Sau rất nhiều (một số khủng khiếp) của tóc kéo tôi nhận ra tôi chỉ đơn giản là misspelt tên kho!

Vì vậy, sử dụng ví dụ của OP:

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

thể thực nghĩa

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

Câu trả lời đúng là gì. Tôi chỉ cần nhấn lỗi chính xác này ngày hôm nay, và nó đã thực sự là một lỗi đánh máy trong URL repo! –

+0

Tôi đã có lỗi tương tự, trong trường hợp của tôi, là máy chủ ngồi đằng sau proxy và tôi cần thêm máy chủ lưu trữ vào nonProxyHosts trong settings.xml, maven không sử dụng các cài đặt proxy hệ điều hành, cụ thể là biến no_proxy env Linux –

0

Trong trường hợp của tôi url máy chủ của tôi trong snapshotRepository phần của pom.xml được trỏ đến http, trong khi nội bộ của tôi kho lưu trữ được lưu trữ trong https.

Các vấn đề liên quan