nexus搭建maven私服,maven实战

来源:互联网 发布:二阶张量的散度 知乎 编辑:程序博客网 时间:2024/06/18 08:52

nexus搭建maven私服,maven实战

maven项目对象模型(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
在楼主看来,maven简单来讲就是一款非常好用的项目管理工具。主要针对大型项目的构建,maven聚合工程。再就是解决对项目之间的jar包依赖。管理jar。
maven项目的核心配置文件就是pom.xml
而pache-maven-..*的核心配置文件就是conf目录下的setting.xml

先用nexus-2.11.1-01搭建maven私服.再展示maven企业开发实战

环境准备
eclipse4.*+jdk1.7/1.8+apache-maven-3.3.9+nexus-2.11.1-01

搭建私服
1.将下好的nexus-2.11.1-01zip解压。如下图:
这里写图片描述
2.按下图步骤
这里写图片描述
3.启动完成后访问localhost:8081
这里写图片描述
4.登录,默认admin/admin123
这里写图片描述
5.配置中央仓库
这里写图片描述
6.如上图配置完成记得save,然后如下图2处右键Repair index
这里写图片描述

验证私服是否成功
走到这里,我们的私服已经搭建完成。中央仓库采用阿里云
1.下面将apache-maven-3.3.9的settings.xml修改配置为自己的私服地址

<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">    <!-- 本地仓库地址 -->    <localRepository>D:\DevelopmentTools2/Maven/apache-maven-3.3.9/repository</localRepository>    <pluginGroups>    </pluginGroups>    <proxies>    </proxies>    <servers>        <server>              <id>releases</id>              <username>admin</username>              <password>admin123</password>          </server>          <server>              <id>snapshots</id>              <username>admin</username>              <password>admin123</password>          </server>       </servers>      <mirrors>        <mirror>              <id>alimaven</id>              <name>aliyun maven</name>              <!--  <url>http://maven.aliyun.com/nexus/content/groups/public/</url> -->                   <url>http://localhost:8081/nexus/content/groups/public/</url>            <mirrorOf>central</mirrorOf>                </mirror>     </mirrors>    <profiles>    </profiles></settings>

这里写图片描述

2.创建maven项目进行导包,然后观察私服服务器各仓库。博主这里用原ssm项目为大家修改spring的版本号来讲解
这里写图片描述
这里写图片描述
3.私服已成功搭建
很明显jar已经从中央仓库下到我们私服了。

maven实战
用maven创建项目。主要分为pom,jar,war。

1.一般pom可以是个父工程,用来统一管理jar包版本。或者是个maven聚合工程,有很多model组成(jar,war等等)
2.jar就不做解释,比如公共的抽取到jar包,实体,接口等等
3.war可以是一个项目的前台页面系统,主要负责与用户交互。也可以是暴露远程服务(http,rest,dubbo,rpc等等)系统,都是可部署的工程。

创建maven项目,大家可以去别的文章摘取。建议多了解聚合工程。

这里楼主只讲一个实战开发场景。(团队协作)
环境:eclipse+maven+私服
怎么样将我们工程的jar发布到私服中让需要的同事们使用。

1.首先创建一个maven项目。(jar)

2.settings.xml如上。主要是添加认证

3.pom.xml配置

这里的配置:将我们的jar上传到Nexus Release Repository(发布版本仓库)和Nexus Snapshot Repository(快照仓库)。

<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">  <modelVersion>4.0.0</modelVersion>  <groupId>com.dyy.test</groupId>  <artifactId>dyy.test</artifactId>  <version>0.0.2-SNAPSHOT</version>   <distributionManagement>        <repository>            <id>releases</id>            <name>Nexus Release Repository</name>            <url>http://localhost:8081/nexus/content/repositories/releases/</url>        </repository>        <snapshotRepository>            <id>snapshots</id>            <name>Nexus Snapshot Repository</name>            <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>        </snapshotRepository>   </distributionManagement></project>

4.执行命令deploy
这里写图片描述
5.这里我们就已经将jar上传到私服了。提供下图所示坐标给同事即可。
这里写图片描述

博主心得
个人见解而已。希望大神多多指正,经验分享。
1.maven下载jar包时,加载顺序。
本地仓库>>>私服(私服又分为快照,发布,中央三个仓库)>>>找不到才去中央仓库下载。(下载完成后会在私服备份,也会在本地仓库备份)

2.maven项目install之前养成良好习惯clean

3.Maven update时分为三步走:先删除本地仓库的.lastupdate后缀名文件,再clean项目,最后才是update Maven Project。

4.maven为我们开发提供了很多方便,同时jar包依赖也会带来很多jar包冲突的问题。主要体现在java.lang.ClassNotFoundException,
java.lang.NoSuchMethodError,
java.lang.noclassdeffounderror
这种异常解决很简单:根据错误提示找到对应的jar。心平气和的打开pom.xml文件的第三个树形依赖jar视图。耐心寻找排查

1 0