初识Maven与nexus,及nexus安装-创新互联

一、了解Maven

向阳网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联建站成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站
  1. 优秀的构建工具
    通过简单的命令,能够完成清理、编译、测试、打包、部署等一系列过程。同时,Maven跨平台,无论是在Windows、还是在Linux或Mac上,都可以使用同样的命令。

2. 依赖管理工具
项目依赖的第三方的开源类库,都可以通过依赖的方式引入到项目中来。代替了原来需要首先下载第三方jar,再加入到项目中的方式。从而更好的解决了合作开发中依赖增多、版本不一致、版本冲突、依赖臃肿等问题。

具体是怎么实现的呢?Maven通过坐标系统准确的定位每一个构件,即通过坐标找到对应的java类库。

3. 项目信息管理工具
能够管理项目描述、开发者列表、版本控制系统地址、许可证等一些比较零散的项目信息。除了直接的项目信息,通过Maven自动生成的站点,以及一些已有的插件,还能够轻松获得项目文档、测试报告、静态分析报告、源码版本、日志报告等非常具有价值的项目信息。


二、 Maven与Nexus
这个问题从Maven的第二个用处说起,依赖管理,通过在Pom中指定坐标的形式将jar引入到项目中。那这个过程,要经历怎样一个流程呢?从哪里寻找jar?下载的jar放到哪里?

将这个问题顺下来,就知道nexus和maven的关系了。

从×××到jar?项目用到的jar又存放在哪里?这引出了仓库的概念,maven通过仓库来统一管理各种构件。Maven的仓库分为本地仓库和远程仓库。
初识Maven与nexus,及nexus安装

当Maven根据坐标寻找构件时,它首先会查看本地仓库,如果本地仓库存在此构件,则直接使用;如果本地仓库不存在此构件,或者需要查看是否有更新的构件版本,Maven会去远程仓库查找,发现需要的构件之后,下载到本地仓库再使用。
项目=>本地仓库=>远程仓库

Nexus是一种远程仓库,根据上段的介绍,我们已经知道远程仓库的作用。在远程仓库中,默认的是中央仓库,中央仓库是Maven核心自带的远程仓库。那就使用中央仓库不就得了吗,为什么我们要安装Nexus呢?

我们从项目实际开发来看:
1.一些无法从外部仓库下载的构件,例如内部的项目还能部署到游戏上,以便供其他依赖项目使用。

  1. 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去游戏请求,如果游戏没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在游戏上。这样,及时暂时没有Internet链接,由于游戏已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的负荷。
    初识Maven与nexus,及nexus安装
    所以,Nexus仅仅是游戏的一种。

三、 Nexus安装

1.环境:centos7
版本:
jdk:jdk-7u45-linux-x64.rpm
nexus:nexus-2.14.2-01-bundle.tar.gz
maven:apache-maven-3.3.9-bin.tar.gz

2.安装jdk,maven环境配置
配置:

JAVA_HOME=/usr/java/jdk1.7.0_45
JRE_HOME=/usr/java/jdk1.7.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$M2_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
M2_HOME=/data/apache-maven-3.3.9

export JAVA_HOME JRE_HOME PATH CLASSPATH M2_HOME
source /etc/profile

版本查看:
java版本: java -version
maven版本:mvn --version

3.安装,配置nexus
将下载的nexus-2.14.2-01-bundle.tar.gz包,解压到/data 下
编辑nexus脚本文件
cd /data/nexus/nexus-2.14.2-01/bin

cat nexus
NEXUS_HOME=".."   ##nexus安装目录/data/nexus/nexus-2.14.2-01
RUN_AS_USER=root   ##启动nexus用户

有两个文件:
nexus-2.14.2-01:nexus服务
sonatype-work:私有库目录

nexus设置启动服务:
sh /data/nexus/nexus-2.14.2-01/bin/nexus

4.访问nexus
登录http://IP:8081/nexus/
默认用户名和密码:admin admin123


四、 maven命令

Maven构建java项目,Maven工程结构和内容都基于pom.xml。常用的打包命令有mvn package、mvn install、mvn deploy。打包生成jar包或war。但这三者有区别。

  • mvn clean package:依次执行了clean、resources、compile、testResources、testCompile、test、jar等7个阶段。
  • mvn clean install:依次执行了clean、resources、compile、testResources、testCompile、test、jar、install等8个阶段。
  • mvn clean deploy:依次执行了clean、resources、compile、testResources、testCompile、test、jar、install、deploy等9个阶段。

其中clean命令是清理构建项目下的target目标文件,即会删除项目下的target文件目录。项目代码修改后需使用clean清除target,重新生成target。

package命令完成项目编译、单元测试、打包功能,但没有将打好的jar包部署到本地maven仓库和远程游戏。
install命令完成项目编译、单元测试、打包功能,把打好的jar包部署到本地maven仓库,但没有部署到远程游戏仓库。
deploy命令完成项目编译、单元测试、打包功能,把打好的jar包部署到本地maven仓库,同时也会部署到远程游戏仓库。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:初识Maven与nexus,及nexus安装-创新互联
标题来源:http://ybzwz.com/article/despgj.html