Docker安装Nexus,配置私服maven

1. Linux安装Nexus

docker pull sonatype/nexus3

2. 运行Nexus容器

docker run -d --name nexus3 -p 8081:8081 -v /opt/myDocker/nexus:/var/nexus-data sonatype/nexus3

3. 访问页面

4. 仓库说明

maven-central:maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
maven-releases:私库发行版jar,初次安装完后,将Deployment policy设置为Allow redeploy
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml或项目pom.xml中使用

5. 仓库类型

Group:这是一个仓库聚合的概念,用户仓库地址选择Group的地址,即可访问Group中配置的,用于方便开发人员自己设定的仓库。maven-public就是一个Group类型的仓库,内部设置了多个仓库,访问顺序取决于配置顺序,3.x默认Releases,Snapshots,Central,也可以自己设置。    
Hosted:私有仓库,内部项目的发布仓库,专门用来存储本地项目生成的jar文件
Proxy:代理类型,从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage属性的值即被代理的远程仓库的路径),如可配置阿里云maven仓库

6. 进入容器修改密码

docker exec -it 974a810d82a6 /bin/bash

根据nexus3登录时密码所在位置提示,找到密码所在地,然后查看密码。(一段字符串)

cat admin.password

登录后,根据提示修改密码

7. 打包上传到仓库

首先配置maven的setting.xml

<server>
	<server>  
		<id>maven-releases</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
	<server>  
		<id>maven-snapshots</id>
		<username>admin</username>
		<password>admin123</password>
	</server>
</servers>

上传jar的pom文件中加入

<distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Releases</name>
            <url>http://ip:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>Snapshot</name>
            <url>http://ip:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
</distributionManagement>

父类打包为pom类型,打包服务类时会提示没有main类,此时需要在pom文件加入

<build>
    <plugins>
        <plugin>
           <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

然后运行maven的deploy命令

 

8. 使用maven私服jar文件

9. 使用私服jar

首先换另一个项目,在pom中增加

<repositories>
    <repository>
        <id>nexus-central</id>
        <name>private-hxlh</name>
        <url>http://ip:8081/repository/maven-public/</url>
    </repository>
</repositories>
<dependency>
    <groupId>com.atguigu</groupId>
    <artifactId>common_util</artifactId>
    <version>0.0.1</version>
</dependency>

猜你喜欢

转载自blog.csdn.net/Caozefei_2018/article/details/119617837