从Maven部署到JFrog Artifactory

Kno*_*uch 5 artifactory maven

我已经在虚拟机上下载并安装了JFrog Artifactory社区版.

从我的主机上,当我执行http://build.local:8081 /时,我能够看到JFrog管理控制台.我在Artifactory中创建了一个测试用户,并授予用户所有权限

在此输入图像描述

在我的主机上,我创建了一个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>
Run Code Online (Sandbox Code Playgroud)

改变了〜/ .m2/settings.xml

<servers>
  <server>
    <username>testuser</username>
    <password>testpassword</password>
    <id>MyJFrog</id>
  </server>
</servers>
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,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)
Run Code Online (Sandbox Code Playgroud)

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

Kno*_*uch 7

我能够解决这个问题.我上面的分配管理设置是错误的.

在JFrog Artifactory中进入Artifacts - > libs snapshot local - >设置我

在这里,您将看到正确的分发管理设置.

在此输入图像描述