首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用Maven将jars部署到Nexus 3存储库时拒绝访问,但能够下载依赖项

尝试使用Maven将jars部署到Nexus 3存储库时拒绝访问,但能够下载依赖项
EN

Stack Overflow用户
提问于 2017-03-01 15:06:08
回答 2查看 8.4K关注 0票数 0

我已经在服务器上安装了Nexus 3,其存储库如下:

第一次回购:

代码语言:javascript
复制
Name: maven-central, 
Type: proxy, 
Layout policy: Permissive, 
URL: http://ip:port/nexus/repository/maven-central/,
Remote storage: https://repo1.maven.org/maven2/

第二次回购:

代码语言:javascript
复制
Name: own,
Type: hosted,
Version policy: Mixed,
Layout policy: Permissive,
URL: http://ip:port/nexus/repository/own/

回购小组:

代码语言:javascript
复制
Name: whatever,
Format: maven2,
Type: group,
Members: maven-central, own
URL: http://ip:port/nexus/repository/whatever/

我已经为以下repos安装了SSL证书: repo1.maven.org和repo.maven.apache.org。

settings.xml具有以下结构:

代码语言:javascript
复制
    <localRepository>${user.home}/.m2/repository</localRepository>


    <profiles>
        <profile>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>maven-repository</id>
                <url>http://ip:port/nexus/repository/whatever/</url>
                <snapshots>    
                    <enabled>true</enabled>
                </snapshots>   
            </repository>
         </repositories>

         <pluginRepositories>
                <pluginRepository>
                        <id>maven-repository-plugin</id>
                        <name>maven-repository-plugin</name>
                        <url>http://ip:port/nexus/repository/whatever/</url>
                        <releases>
                                <enabled>true</enabled>
                        </releases>
                        <snapshots>
                            <enabled>true</enabled>
                            <updatePolicy>interval:15</updatePolicy>
                            <checksumPolicy>fail</checksumPolicy>
                        </snapshots>
                </pluginRepository>
        </pluginRepositories>

</profiles> 

<servers>
    <server>
        <id>maven-repository</id>
        <username>admin</username>
        <password>**</password>
    </server>
</servers> 

问题是我能够使用这个settings.xml文件下载项目依赖项,但是我无法使用Maven部署文件,因为我得到了以下错误:

Failed to deploy artifacts groupId:artifactId:version:jar:version from/to remote-repository(http://ip:port/nexus/repository/whatever): Access denied to: http://ip:port/nexus/repository/whatever/groupId/artifactId/...

运行以下部署命令时:

代码语言:javascript
复制
 deploy:deploy-file   
-Durl=http://ip:port/nexus/repository/own/
-DgeneratePom=false   
-DgroupId=groupId  
-DartifactId=artifactId 
-Dversion=version  
-Dpackaging=jar   
-Dfile=name.jar  

有什么我能做的吗?我尝试过将存储库更改为使用托管的repo(属于自己的)而不是组,我尝试在settings.xml文件中添加镜像。

我必须指出的是,用户是默认的管理员,它具有默认的角色(All)。

我想这可能是SSL入站证书的问题,但在Nexus 3中,我不知道如何禁用检查。同时,目前也不可能手动上传这些罐子。

编辑:我也尝试添加镜像,但是当我添加镜像时,下载将停止工作。第二编辑:使用HTTP,我能够上传文件(使用CURL)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-07 09:51:56

虽然这个问题很老,但我记得我有两个问题。

我通过以下方式修正了它们:

  1. 添加和设置正确的代理和非代理主机。
  2. 添加正确的信任存储区(和正确的证书)。
票数 0
EN

Stack Overflow用户

发布于 2017-03-02 15:06:39

您需要在部署文件目标中添加"-DrepositoryId=someid“,其中"someid”是settings.xml文件中具有部署所需凭据的服务器部分的ID。

代码语言:javascript
复制
<settings>
  <servers>
    <server>
      <id>someid</id>
      <username>deployment</username>
      <password>deployment123</password>
    </server>
  </servers>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42535215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档