基于docker安装Maven私服仓库
yum源安装docker
查看是否已安装docker列表
yum list installed | grep docker
yum安装docker
yum -y install docker
启动docker
systemctl start docker
查看docker服务状态
systemctl status docker
nexus3的镜像
下载一个nexus3的镜像
docker pull sonatype/nexus3
将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。内部和外部端口号8081
docker run -d -p 8081:8081 --name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3
查看容器ID
docker ps
可以查看正在启动的日志 docker attach + 容器的id
docker attach xxxx容器IDxxx
启动成功
关闭防火墙
service iptables stop
访问地址
http://192.x.x.x:8081
Maven默认账号密码
进入到容器中
docker exec -it xxxx容器IDxxx bash
进入 admin.password 查看密码
cat /nexus-data/admin.password
注意 bash-4.4$ 这个不要复制
账号:admin 密码:0e54da2c-338a-49f3-abf0-c021a07f33c3
创建Maven仓库
正式版本
控制是否允许对工件进行部署和更新 Controls if deployments of and updates to artifacts are allowed
配置本地settings.xml
<servers>
<server>
<id>admin
</id>
<username>admin
</username>
<password>admin
</password>
</server>
</servers>
项目配置文件
<?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">
<parent>
<artifactId>tst-xxx
</artifactId>
<groupId>org.tst
</groupId>
<version>1.0-RELEASE
</version>
</parent>
<modelVersion>4.0.0
</modelVersion>
<artifactId>tst-xxx-xx
</artifactId>
<packaging>jar
</packaging>
<description>tst xxx
</description>
<dependencies>
<dependency>
<groupId>cn.hutool
</groupId>
<artifactId>hutool-all
</artifactId>
<version>${hutool.version}
</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents
</groupId>
<artifactId>httpclient
</artifactId>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>admin
</id>
<url>http://192.168.203.128:8081/repository/tst-RELEASE/
</url>
</repository>
</distributionManagement>
<build>
<plugins>
<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>
<executions>
<execution>
<phase>package
</phase>
<goals>
<goal>jar
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Maven 执行命令 上传jar包即可
mvn deploy
注意版本号码一定要是为:release版本 ,否则上传jar报错
本地项目引入maven私服jar
<dependencies>
<dependency>
<groupId>com.tst
</groupId>
<artifactId>tst-xxx-xx
</artifactId>
<version>1.0-RELEASE
</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>admin
</id>
<url>http://192.168.203.128:8081/repository/tst-RELEASE
</url>
</repository>
</repositories>
如何判断文件是否发生改变
如何知道一个文件是否改变了呢? 当然是用比较文件hash值的方法,文件hash又叫文件签名,文件中哪怕一个bit位被改变了,文件hash就会不同。比较常用的文件hash算法有MD5和SHA-1。