Maven和Nexus

什么是Maven?

Maven是Apache软件基金会唯一维护的一款自动化构建工具,专注于服务Java平台的项目构建和依赖管理,基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

什么是Nexus?

Nexus是一种远程仓库,又称maven私服,具有降低中央仓库负荷、节省外网带宽、以及提高项目稳定性等优点。

TOC

★准备工作★

maven下载地址:https://maven.apache.org/download.cginexus下载地址:https://www.sonatype.com/download-oss-sonatype

一、Maven安装和使用

安装Maven

1.首先maven需要依赖jdk环境,先下载安装jdk

tar zxf jdk-8u333-linux-x64.tar.gz
mv jdk1.8.0_333 /usr/local/jdk

配置环境变量

vim /etc/profile
-------------------------------------
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

2.下载安装maven

tar zxf apache-maven-3.8.6-bin.tar.gz
mv apache-maven-3.8.6 /usr/local/maven

配置环境变量

vim /etc/profile
-------------------------------------
export MAVEN_HOME=/usr/local/maven
export PATH=$MAVEN_HOME/bin:$PATH

3.运行profile使变量生效

source /etc/profile

4.查看安装版本和安装情况

[root@jenkins ~]# java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
[root@jenkins ~]# mvn -v
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: /usr/local/maven
Java version: 1.8.0_333, vendor: Oracle Corporation, runtime: /usr/local/jdk/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"

Maven常用命令

常用的打包命令:

#跳过单测打包
mvn clean package -Dmaven.test.skip=true
#跳过单测打包,并把打好的包上传到本地仓库
mvn clean install -Dmaven.test.skip=true
#跳过单测打包,并把打好的包上传到远程仓库
mvn clean deploy -Dmaven.test.skip=true

其他相关命令:

mvn -v  #查看版本
mvn archetype:create  #创建 Maven 项目
mvn compile  #编译源代码
mvn test-compile  #编译测试代码
mvn test  #运行应用程序中的单元测试
mvn site  #生成项目相关信息的网站
mvn package  #依据项目生成 jar 文件
mvn install  #在本地 Repository 中安装 jar
mvn -Dmaven.test.skip=true  #忽略测试文档编译
mvn clean  #清除目标目录中的生成结果
mvn clean compile  #将.java类编译为.class文件
mvn clean package  #进行打包
mvn clean test  #执行单元测试
mvn clean deploy  #部署到版本仓库
mvn clean install  #使其他项目使用这个jar,会安装到maven本地仓库中
mvn archetype:generate  #创建项目架构
mvn dependency:list  #查看已解析依赖
mvn dependency:tree com.xx.xxx  #看到依赖树
mvn dependency:analyze  #查看依赖的工具
mvn help:system  #从中央仓库下载文件至本地仓库
mvn help:active-profiles  #查看当前激活的profiles
mvn help:all-profiles  #查看所有profiles
mvn help:effective -pom  #查看完整的pom信息

二、Nexus搭建和使用

配置文件位置:etc/nexus.properties
在安装路径下的相对位置下

常规搭建

1.安装好jdk环境,这里推荐JDK8和JDK11版本
2.解压安装包

tar -zxvf nexus-3.23.0-01-unix.tar.gz -C /usr/local
mv /usr/local/nexus-3.23.0-01 /usr/local/nexus

3.优化命令路径,并启动服务

ln -s /usr/local/nexus/bin/* /usr/local/bin
nexus start

docker搭建

编写docker-compose.yaml文件:

version: "3.8"

services:
  nexus:
    image: sonatype/nexus3
    container_name: nexus
    privileged: true
    user: root
    restart: always
    ports:
      - 8081:8081
    volumes:
      - ./data:/nexus-data

拉取镜像并启动:

docker compose pull nexus
docker compose up -d

测试阶段

部署好了可以访问8081端口访问nexus管理web页面,如下图所示:
nexus001