一、安装docker省略
二、安装JDK省略
三、下载nexus镜像
docker pull sonatype/nexus3
四、创建映射目录
/root/docker/nexus/data
五、运行容器
docker run -d -p 8081:8081 -p 5000:5000 --name nexus -v /root/docker/nexus/data/:/nexus-data sonatype/nexus3
六、报这个错误时候java.io.FileNotFoundException: …/sonatype-work/nexus3/tmp/i4j_ZTDnGON8hezynsMX2ZCYAVDtQog=.lock (No such file or directory)是因为创建的目录没有加所属组
[root@nexus ~]# chown -R 200 /root/docker/nexus/data/
七、页面访问
http://192.168.206.132:8081
八、登陆
默认账户和密码是:admin/admin123
但是版本的不同,有的密码不一样,所以需要查看admin.password
如果此容器/nexus-data路劲没有映射到宿主机,则需要进入容器查看
docker exec -it 容器名 /bin/bash
九、docker仓库配置
选择仓库类型 这里选择hosted类型 如图
配置仓库,如图
该仓库指定一个唯一的名称、HTTP的端口、允许交互的API等
添加组,如图
十、客户端连接测试
首先配置docker认证
vim /etc/dokcer/daemon.json
{
"insecure-registries": ["192.168.206.132:5000"]
}
[root@nexus data]# systemctl daemon-reload
[root@nexus data]# systemctl restart docker
[root@nexus data]# docker login -uadmin -p 'liuchao666888' 192.168.206.132:5000
注意:如果登陆不上
报错如下:Error response from daemon: login attempt to http://192.168.241.130:5000/v2/ failed with status: 401 Unauthorized
是因为没有授权、解决方法如图1,如果使用别的用户也报这个错误时候,解决方法如图二
十一、配置maven仓库
1.点击配置、点击Repositories,然后新建一个Maven(proxy)仓库
2.设置name和url地址
3.设置软件代理
点击System,找到HTTP,设置http代理,此代理作用是可以联网下载包
设置public仓库
把刚才的maven-aliyun添加到public中,设置在central上面,优先选择私有仓库以及aliyun,最后才是国外的网站
本地maven使用
本地maven的settings.xml文件配置如下
<servers>
<server>
<id>maven-releases</id>
<username>maven</username>
<password>@!#liumaven@132</password>
</server>
<server>
<id>maven-public</id>
<username>maven</username>
<password>@!#liumaven@132</password>
</server>
</servers>
<mirrors>
<mirror>
<id>maven-public</id>
<name>maven-public</name>
<url>http://192.168.206.132:8081/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
项目的pom文件配置
1.上传文件配置(管理人员才可以上传文件)
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Maven Releases</name>
<url>http://192.168.206.132:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
上传使用:mvn clean deploy
下载文件配置(开发人员使用)
<repositories>
<repository>
<id>maven-public</id>
<name>Maven Public</name>
<url>http://192.168.206.132:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
maven打包
首先下载项目:git clone 项目地址 //文件路劲自定义
进入pom.xml所在的文件路劲下:mvn clean && mvn package //会产生一个新文件夹,进入之后就能看见jar包
上传到maven仓库:mvn deploy:deploy-file -DgroupId=com.jz.tss.service -DartifactId=tss-service -Dversion=1.9.02-SNAPSHOT -Dfile=E:/Workspace/tss-service/build/oracle/TSS-Service/WEB-INF/lib/TSS-Service.jar -Durl=http://仓库Ip:port/nexus/content/repositories/snapshots/ -DrepositoryId=Snapshots
##字段意思
-Dmaven.test.skip=true //跳过编译、测试
-Dfile=D:\MvnProject\service-mvn-1.0.0.jar //jar包文件地址,绝对路径
-DgroupId=pri.roy.mvn.test //gruopId--pom坐标,自定义
-DartifactId=mvn-api //artifactId--pom坐标,自定义
-Dversion //版本号
-Dpackaging //打包方式
-DrepositoryId //远程库服务器ID
-Durl //远程库服务器地址
maven实现打包带源代码的jar包
实现方法一:
pom文件添加以下及节点
<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>
</build>
说明:默认的资源文件夹是src/main/resource,此方法修改了资源文件夹,让你默认的资源文件夹变成了src/main/java文件夹。而这个文件夹在maven中是默认放置源代码的。
缺点:修改之后,src/main/resource文件夹就不是资源文件夹了,放在里面的文件将不会被当作资源
实现方法二:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
十二、npm仓库配置
打开nexus,登录以后,按照下图操作
先创建hosted,填写名称,选择存储空间,点击创建
创建group 填写name 选择存储空间,将hosted 和proxy加入进来 点击创建
仓库越靠上优先级越高,如果私有仓库在上,用户下载npm包的时候会优先下载私有仓库中的,
如果私有仓库没有再去代理仓库中下载。
创建npm用户
添加角色权限
添加realms
查看仓库地址
登录npm仓库(输入创建的用户名和密码、邮箱即可
[root@localhost ~]# npm login
name: npm
password: 123
email: npm@163.com
查看仓库地址
[root@localhost test]# npm config get registry
更改npm仓库中proxy地址,默认为npmjs,改为https://registry.npm.taobao.org
在本地设置npm仓库地址(本地有从本地下载,如果无就走taobao仓库)
npm config set registry http://192.168.206.132:8081/repository/npm-repo-proxy