왜 메이븐 PW를 사용합니까?
실제 개발에서 프로젝트는 타사 항아리에 사용될 수있는, 내부 통신 서비스 인터페이스는 PW의 회사로 구동됩니다.
우리의 개발 프로젝트의 실용적인 관점에서 :
-
일부는 다른 프로젝트에 의존하기 위해, 이러한 또한 PW에 배포 내부 프로젝트와 같은 외부 창고 구성 요소에서 다운로드 할 수 없습니다.
-
대역폭과 시간을 절약하기 위해, 그 대리인 모든 외부 원격 저장소와의 LAN에 개인웨어 하우스 서버를 설정합니다. 로컬 Maven 프로젝트 구성원을 다운로드해야하는 경우 PW하지, 원격 창고 요청, 원격 장치, 개인 서버에 멤버 캐시에서 다운로드 창고로 이동하는 경우, PW 요구로 이동합니다. 이러한 방법으로, 구성 요소의 많은 수의, PW가 캐시 된 때문에, 전체 프로젝트는 정상적으로 사용할 수 있으며,시기 적절한 임시 인터넷 연결이 없습니다. 또한 중앙 창고에 맞춰 줄일 수 있습니다.
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222301188-253466128.png)
위의 상세한 단계를 한 바와 같이 서버로부터 PW 발췌 설정 :
도 1에서, nexus3의 이미지를 다운로드
docker pull sonatype/nexus3
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222327097-1907658888.png)
2, 호스트에 내부 용기의 / var / 넥서스 데이터 / 루트 / 넥서스 데이터 디렉토리를 마운트
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3
컨테이너 케이스 -a 도면 고정 표시기 (PS)에서 시작
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222351740-552518334.png)
인증 ID에 의해 상세 정보 컨테이너 출력 된 IP 주소.
docker inspect 容器id
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222416187-1698082116.png)
그런 다음 주소로 이동하면이 시도 : 127.17.0.2:8081 말림
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222437819-1702807538.png)
부팅이 실패하면, 당신은 방화벽을 다시 시도 해제 할 수 있습니다 :
systemctl stop firewalld.service
좋아, 출시 후 브라우저는 HTTP보고 : // IP : 8081
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222459754-1065448768.png)
지금까지, PW 성공을 구축 할 수 있습니다.
기본 로그인 계정 관리자 admin123과
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222529271-2096326155.png)
다음이 시간이 오류가 발생할 수 있습니다 :
Incorrect username or password, or no permission to use the application.
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222553019-363371041.png)
PW는 일반 텍스트 암호를 사용할 수 없습니다 기본 로그인 시간 받는다는는 등, 일반적으로 디렉토리에 당신이 컨테이너를 생성, 암호 텍스트를 사용 루트 / 넥서스 - 데이터 / admin.password 컨테이너에 찾을 필요에,주의, 및 지시 사항은 아래 참조 도표 :
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222610424-1930690851.png)
docker exec -it c2101070de57 bash
bash-4.2$ cd /nexus-data/
bash-4.2$ cat admin.password
d62fa667-a22b-41db-a14a-6aa6f793f4fbbash-4.2$
뒤에 제거 bash는-4.2 $ , d62fa667-A22 B-41dB-A14a - 6aa6f793f4fb는 암호입니다.
다시 방문하면 비밀번호를 재설정하라는 메시지가 표시됩니다 :
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222628745-1212198728.png)
3, 메이븐 저장소를 만들
上传maven私服之前我们先,创建个仓库
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222651842-1075840918.png)
选择maven2(hosted)
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222711651-436629153.png)
填写仓库信息:
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222729464-1115592729.png)
创建用户:
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222749318-1980753161.png)
填写基本信息
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222805142-343191467.png)
创建好账户后就可以在右上角切换账户了。
接着就是配置本地 maven > conf 了,找到自己本机的 maven conf 下的 setting.xml 文件,添加如下信息:
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222823260-820061875.png)
注意是 services 节点下:
<services>
<server>
<id>ttyy</id>
<username>ttyy</username>
<password>ttyy</password>
</server>
</services>
4、如何将架包上传到maven私服
创建一个普通的 maven 项目,配置 pom.xml 如下:
<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
<!--指定仓库地址 -->
<distributionManagement>
<repository>
<!--此名称要和.m2/settings.xml中设置的ID一致 -->
<id>ttyy</id>
<url>http://192.168.10.130:8081/repository/ttyy-release/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--发布代码Jar插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--发布源码插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
项目命令行中执行如下指令:
mvn deploy
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717222856240-529560028.png)
发布成功后,如何搜索呢?如下图:
![](https://img2018.cnblogs.com/blog/1104426/201907/1104426-20190717224208002-437701990.png)
发布后如何使用呢,相信很多小伙伴肯定用过阿里云的私服,一样的道理啦:
<dependencies>
<dependency>
<groupId>club.sscai</groupId>
<artifactId>ttyy-springboot</artifactId>
<version>1.0-RELEASE</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>ttyy</id>
<url>http://192.168.10.130:8081/repository/ttyy-release/</url>
</repository>
</repositories>
我创建了一个java相关的公众号,用来记录自己的学习之路,感兴趣的小伙伴可以关注一下微信公众号哈:niceyoo
![](https://img2018.cnblogs.com/blog/1104426/201903/1104426-20190317205145060-1627092390.jpg)