2015-10-13 204 views
4

我已经在虚拟机上下载并安装了JFrog Artifactory社区版。从Maven部署到JFrog Artifactory

从我的主机,我能看到JFrog管理控制台,当我做http://build.local:8081/。我在Artifactory的创建测试用户,并授予该用户的所有权利

enter image description here

在我的主机上创建一个Java Maven项目。我的pom.xml看起来像

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

    <groupId>com.abhi</groupId> 
    <artifactId>HelloWorld</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <distributionManagement> 
     <snapshotRepository> 
      <id>MyJFrog</id> 
      <name>MyJFrogArtifactory</name> 
      <url>http://build.local:8081/libs-snapshot-local</url> 
     </snapshotRepository> 
    </distributionManagement> 
</project> 

改变了我的〜/ .m2目录/ settings.xml中

<servers> 
    <server> 
    <username>testuser</username> 
    <password>testpassword</password> 
    <id>MyJFrog</id> 
    </server> 
</servers> 

但还是当我做mvn deploy -e我得到错误

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project HelloWorld: Failed to deploy artifacts: Could not transfer artifact com.abhi:HelloWorld:jar:1.0-20151013.153708-1 from/to MyJFrog (http://build.local:8081/libs-snapshot-local): Access denied to: http://build.local:8081/libs-snapshot-local/com/abhi/HelloWorld/1.0-SNAPSHOT/HelloWorld-1.0-20151013.153708-1.jar, **ReasonPhrase: Forbidden.** 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) 
    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:116) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 

我做很多互联网研究。大多数人引用代理问题。但我在一台机器上。 build.local是我在我的主机文件中创建的一个条目,并指向虚拟机的IP。所以这里没有涉及代理。

回答

7

我能解决这个问题。我上面的分发管理设置是错误的。

在JFrog Artifactory的进入文物 - >库快照的本地 - >设置我

在这里你会看到正确的设置配送管理。

enter image description here

+0

这是有效的答案,但在这[链接](http://kishore.chintoju.com/blog/2012/12/deploy-to-artifactory-remote-repository-using-maven.html )有更多关于'pom.xml'和Maven生态系统的细节 –