浩克网 手游攻略 软件教程 maven parent的作用(maven的基本原理和使用)

maven parent的作用(maven的基本原理和使用)

时间:2024-09-08 10:15:25 来源:网络整理 浏览:0

四、maven。。1。需求正式开发,不同的项目组开发不同的项目。

Dao项目被开发并发布到私有服务器。

服务从私有服务器下载dao

2.分析公司在自己的局域网内搭建自己的远程仓库服务器,称为私有服务器。私有服务器是公司里的maven远程仓库。每个员工都在自己的电脑上安装maven软件,并连接到私有服务器。

员工将把他们自己开发的项目打印到jar中并发布到服务器上,其他项目团队将从服务器上下载相关组件。

(jar)

该服务器还充当代理服务器。当服务器上没有jar包时,会自动从互联网中心仓库下载,如下图所示:

3.搭建私有服务器环境下载nexusnexus是一个maven仓库管理器。通过nexus可以建立一个Maven仓库。同时,Nexus还提供了强大的仓库管理功能和组件搜索功能。下载Nexus,

下载地址:http://www。索纳塔。组织/关系/存档/

下载:nexus-2.12.0-01-bundle.zip

安装nexus解压nexus-2.12.0-01-bundle.zip,本教程解压到驱动器F,进入bin目录:

The coal mine administration enters the box directory and executes the installation of nexus.bat

安装成功。检查服务中的nexus服务:

Uninstall nexuscmd and enter the box directory of the relationship, and execute: uninstall nexus.bat

查看窗口服务列表关系已被删除。

启动nexus方法1:

The coal mine administration enters the box directory and executes nexus.bat start

方法二:

直接启动nexus服务。

View the configuration file conf/nexus. properties of the relationship.

# Jetty section

Application port=8081 # Access port configuration of Nexus Application-Host=0.0.0.0 # Relational host monitoring configuration (without modification) Nexus-WebApp=$ {Bundlebased IR}/Nexus # Nexus project directory Nexus-WebApp-Context-Path=/Nexus # Nexus's network access path.

# Nexus section

nexus-work=${bundleBasedir}/./sonatype-work/nexus # nexus仓库目录

runtime=$ { bundle basedir }/nexus/we b-INF # nexus运行程序目录

请访问:

http://localhost:8081/nexus/

使用Nexus内置账号admin/admin123登录:点击右上角的登录,输入你的账号和密码即可登录。

登录成功:

3.5仓库类型关系

查看nexus的仓库:

nexus 的仓库有4 种类型:

1. hosted,宿主仓库,部署自己的jar 到这个类型的仓库,包括releases 和snapshot 两部分,

Releases 公司内部发布版本仓库、 Snapshots 公司内部测试版本仓库

2. proxy,代理仓库,用于代理远程的公共仓库,如maven 。。仓库,用户连接。。,。。自动去。。仓库下载jar 包或者插件。

3. group,仓库组,用来合并多个hosted/proxy 仓库,通常我们配置自己的maven 连接仓库组。

4. virtual(虚拟):兼容Maven1 版本的jar 或者插件

nexus 仓库默认在sonatype-work 目录中:

central:代理仓库,代理。。仓库apache-snapshots:代理仓库存储snapshots 构件,代理地址https://repository.apache.org/snapshots/

central-m1:virtual 类型仓库,兼容Maven1 版本的jar 或者插件releases:本地仓库,存储releases 构件。snapshots:本地仓库,

存储snapshots 构件。thirdparty:第三方仓库public:仓库组4. 将项目发布到。。

4.1 需求

企业中多个团队协作开发通常会将一些公用的组件、开发模块等发布到。。供其它团队或模块开发人员使用。

本例子假设多团队分别开发dao、service、web,某个团队开发完在dao 会将dao 发布到。。供service 团队使用,本例子会将dao 工程打成jar 包发布到。。。

上传

上传

maven-dao 工程

。。(服务端) nexus

maven-service 工程

4.2 配置第一步:需要在客户端即部署dao 工程的电脑上配置maven 环境,并修改settings.xml

文件,配置连接。。的用户和密码。 此用户名和密码用于。。校验,因为。。需要知道上传的账号和密码是否和。。中的账号和密码一致。

releasesadminadmin123snapshotsadminadmin123releases 连接发布版本项目仓库

snapshots 连接测试版本项目仓库

第二步: 配置项目pom.xml

配置。。仓库的地址,本公司的自己的jar 包会上传到。。的宿主仓库,根据工程的版本号决定上传到哪个宿主仓库,如果版本为release 则上传到。。的release 仓库,

如果版本为snapshot 则上传到。。的snapshot 仓库

releaseshttp://localhost:8081/nexus/content/repositories/releases/snapshotshttp://localhost:8081/nexus/content/repositories/snapshots/注意:pom.xml 这里和settings.xml 配置 对应!

4.3 测试将项目dao 工程打成jar 包发布到。。:

1、首先启动nexus

2、对dao 工程执行deploy 命令

根据本项目pom.xml中version定义决定发布到哪个仓库,如果version定义为snapshot, 执行deploy 后查看nexus 的snapshot 仓库,

如果version 定义为release 则项目将发布到nexus 的release 仓库,本项目将发布到snapshot 仓库:

也可以通过http 方式查看:

5. 从。。下载jar 包5.1 需求

没有配置nexus 之前,如果本地仓库没有,去。。仓库下载,通常在企业中会在局域网内部署一台。。服务器,有了。。本地项目首先去本地仓库找jar,如果没有找到则连接。。从。。下载jar 包,

如果。。没有jar 包。。同时作为代理服务器从。。仓库下载jar 包, 这样做的好处是一方面由。。对公司项目的依赖jar 包统一管理,一方面提高下载速度,

项目连接。。下载jar 包的速度要比项目连接。。仓库的速度快的多。

本例子测试从。。下载dao 工程jar 包。

5.2 管理仓库组nexus中包括很多仓库,hosted 中存放的是企业自己发布的jar包及第三方公司的jar包, proxy 中存放的是。。仓库的jar,

为了方便从。。下载jar 包可以将多个仓库组成一个仓库组,每个工程需要连接。。的仓库组下载jar 包。

打开nexus 配置仓库组,如下图:

上图中仓库组包括了本地仓库、代理仓库等。

5.3 在setting.xml 中配置仓库在客户端的setting.xml 中配置。。的仓库,

由于setting.xml 中没有repositories 的配置标签需要使用profile 定义仓库。

public

Public Repositories

http://localhost:8081/nexus/content/groups/public/

使用profile 定义仓库需要激活才可生效。

dev

配置成功后通过eclipse 查看有效pom,有效pom 是maven 软件最终使用的pom 内容,程序员不直接编辑有效pom,打开有效pom

有效pom 内容如下:

下边的pom 内容中有两个仓库地址,maven 会先从前边的仓库的找,如果找不到jar 包再从下边的找,从而就实现了从。。下载jar 包。

truetruepublicPublic Repositorieshttp://localhost:8081/nexus/content/groups/public/falsecentralCentral Repositoryhttps://repo.maven.apache.org/maven2public5.4 测试从。。下载jar 包Public Repositorieshttp://localhost:8081/nexus/content/groups/public/neverfalsecentralCentral Repositoryhttps://repo.maven.apache.org/maven2测试1:局域网环境或本地网络即可

在service 工程中添加以上配置后,添加dao 工程的依赖,删除本地仓库中dao

工程,同时在eclipse 中关闭dao 工程。 观察控制台:

项目先从本地仓库找dao,找不到从。。找,由于之前执行deploy 将dao 部署到。。中,所以成功从。。下载dao 并在本地仓库保存一份。

如果此时删除。。中的dao,执行update project 之后是否正常? 如果将本地仓库的dao 和。。的dao 全部删除是否正常? 测试2:需要互联网环境

在项目的pom.xml 添加一个依赖,此依赖在本地仓库和。。都不存在,maven 会先从本地仓库找,本地仓库没有再从。。找,。。没有再去。。仓库下载,

jar 包下载成功在。。、 本地仓库分别存储一份。

五、 把第三方jar 包放入本地仓库或。。1. 导入本地库随便找一个jar 包测试,可以先CMD 进入到jar 包所在位置,

运行mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37

-Dfile=fastjson-1.1.37.jar -Dpackaging=jar

2. 导入。。需要在maven 软件的核心配置文件settings.xml 中配置第三方仓库的server 信息

thirdparty

admin

admin123

才能执行一下命令

mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37

-Dpackaging=jar -Dfile=fastjson-1.1.37.jar

-Durl=http://localhost:8081/nexus/content/repositories/thirdparty/

-DrepositoryId=thirdparty

3. 参数说明DgroupId 和DartifactId 构成了该jar 包在pom.xml 的坐标,项目就是依靠这两个属性定位。 自己起名字也行。

Dfile 表示需要上传的jar 包的绝对路径。

Durl 。。上仓库的位置,打开nexus——repositories 菜单,可以看到该路径。

DrepositoryId 服务器的表示id,在nexus 的configuration 可以看到。

Dversion 表示版本信息,

关于jar 包准确的版本: 包的名字上一般会带版本号,如果没有那可以解压该包,会发现一个叫MANIFEST.MF 的文件,

这个文件就有描述该包的版本信息。

比如Specification-Version: 2.2 可以知道该包的版本了。 上传成功后,在nexus 界面点击3rd party 仓库可以看到这包

标题:maven parent的作用(maven的基本原理和使用)
链接:https://www.52hkw.com/news/rj/58971.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
Tiktok专用的梯子加速器(TK加速器全球加速)

Tiktok作为当前最火爆的短视频平台,受到了全球用户的热烈欢迎。然而,由于网络限制或者其他原因,很多用户在观看

2024-09-08
怎么不让快递放菜鸟驿站

菜鸟裹裹怎么禁止放快递?经常网购的小伙伴都知道,如果附近有菜鸟驿站,那么驿站的快递员会默认选择放在驿站中,并

2024-09-08
德国游戏排行榜前十名(德国出品的游戏)

中国的玩家可能在新闻里听过德国科隆游戏展,但对德国的游戏却感觉很陌生。游戏玩家大部分多少应该都体验过SL

2024-09-08
菜鸟驿站怎么送货上门

菜鸟裹裹怎么送货上门?有过菜鸟驿站拿快递的小伙伴都知道,很多菜鸟驿站在派送快递时,默认是放在菜鸟驿站,需要我

2024-09-08