Maven 环境踩坑及完整配置
Posted dingwen_blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven 环境踩坑及完整配置相关的知识,希望对你有一定的参考价值。
一、错误描述
maven Could not transfer artifact XXX fromto XXX(XXX) Not authorized , ReasonPhrase Unauthorized.
在公司使用maven私服时出现上述错误,检查配置已经配置了snapshots、releases的认证。
二、解决
由于公司私服public也需要认证,故添加public的相关认证即可。
三 、完整配置
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 本地仓库的路径。默认值为${user.home}/.m2/repository。 -->
<localRepository>E:\\work\\file\\xxx</localRepository>
<!-- 当没有显示提供机构信息时的默认值 -->
<pluginGroups>
<pluginGroup>com.dingwen</pluginGroup>
</pluginGroups>
<!-- 配置代理 -->
<proxies></proxies>
<servers>
<!-- 公司私服配置开始 -->
<server>
<!-- 此处ID必须与pom文件中私服的配置部署ID一致 -->
<id>maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<!-- 当访问需要认证时配置 -->
<server>
<!-- 此处ID与mirrors的ID一致 -->
<id>company-maven-public</id>
<username>admin</username>
<password>admin123</password>
</server>
<!-- 公司私服配置结束 -->
<!-- 华为云 -->
<server>
<id>huaweicloud</id>
<username>anonymous</username>
<password>devcloud</password>
</server>
</servers>
<!-- 相当于拦截器访问改地址是映射的配置 -->
<mirrors>
<!-- 公司-->
<mirror>
<!-- 上面server认证ID -->
<id>company-maven-public</id>
<!-- * 表示匹配所有-->
<!-- external:*: 使用所有远程仓库,本地localhost除外-->
<!-- 仓库1,...,仓库2--->
<!-- *,!仓库1 除了仓库1所有-->
<!-- 仓库ID -->
<mirrorOf>companymaven</mirrorOf>
<url>http://xxx/repository/maven-public/</url>
</mirror>
<!-- 阿里云 -->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<!-- 仓库ID -->
<mirrorOf>alimaven</mirrorOf>
</mirror>
<!-- 华为云 -->
<mirror>
<id>huaweicloud</id>
<!-- 仓库ID -->
<mirrorOf>huaweimaven</mirrorOf>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
</mirrors>
<profiles>
<!-- 公司 nexus 私服配置-->
<profile>
<id>company</id>
<repositories>
<repository>
<id>companymaven</id>
<name>company maven</name>
<url>http:/xxx/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>companymaven</id>
<url>http://xx/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- JDK 版本配置 -->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
<!-- 阿里云配置 -->
<profile>
<id>ali</id>
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- 华为云配置 -->
<profile>
<id>huawei</id>
<repositories>
<repository>
<id>huaweimaven</id>
<name>huawei maven</name>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>huaweimaven</id>
<name>huawei maven</name>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- 激活配置 -->
<activeProfiles>
<activeProfile>company</activeProfile>
<activeProfile>jdk-1.8</activeProfile>
<activeProfile>ali</activeProfile>
<activeProfile>huawei</activeProfile>
</activeProfiles>
</settings>
以上是关于Maven 环境踩坑及完整配置的主要内容,如果未能解决你的问题,请参考以下文章
Java项目生产环境部署,遇到FTP连接加密服务器的踩坑及爬坑过程