maven的私服maven怎么配置置来着

&?xml version="1.0" encoding="UTF-8"?&
&!-- -------------------------------------------------在父类POM的配置如下: --&
&!-- 本地快照 和release 发布 的配置 --&
&distributionManagement&
&repository&
&!-- ID要和MAVEN中conif/setting.xml 中的server保持一致 --&
&id&releases&/id&
&name&User Project Release&/name&
&!-- release版本的url地址 --&
&url&http://localhost:8081/nexus/content/repositories/releases/&/url&
&/repository&
&snapshotRepository&
&!-- ID要和MAVEN中conif/setting.xml 中的server保持一致 --&
&id&snapshots&/id&
&name&User Project SNAPSHOTS&/name&
&!-- snapshot版本的url地址 --&
&url&http://localhost:8081/nexus/content/repositories/snapshots/&/url&
&/snapshotRepository&
&/distributionManagement&
&repositories&
&repository&
&id&central&/id&
&name&central&/name&
&!-- 配置仓库的地址 --&
&url&http://localhost:8081/nexus/content/groups/&/url&
&/repository&
&/repositories&
&!-- maven setting.xml的配置如下 ------------------------------------------------------- --&
&!-- releases仓库的用户认证信息 --&
&id&releases&/id&
&username&admin&/username&
&password&admin123&/password&
&!-- snapshots 快照认证信息 --&
&id&snapshots&/id&
&username&admin&/username&
&password&admin123&/password&
&id&nexus&/id&
&mirrorOf&*&/mirrorOf&
&url&http://localhost:8081/nexus/content/groups/public/&/url&
阅读(...) 评论()windows下使用nexus搭建maven私服的流程和说明
1、下载nexus:
没什么难的,下载一个oss版本,即open
source开源版,&。
2、将下载的zip包或者tgz包解压出来:
如图所示,nexus默认的工作目录为统计目录下的sonatype-work目录,可以在%nexus_home%/conf/nexus.properties中进行修改。
工作目录的作用:最主要是存储,所有的仓库索引文件、插件索引文件都存在工作目录中(storage、plugin-repository目录);另外就是存储系统日志(log文件夹)。因此,工作目录应该设置为磁盘空间较大的目录。
3、启动nexus:
%nexus_home%/bin/js/下找到操作系统对应的脚本console-nexus.bat,运行即可。
nexus默认使用内置的jetty服务器,文件夹中其他的脚本,根据名称很容易理解,无非是安装成windows服务,其他服务、停止服务、卸载服务等。
4、登录并修改密码:
nexus默认的管理员账号为admin,密码admin123,可以通过左侧菜单security-user来修改密码。
5、仓库管理:
点击菜单栏的view/repostories-repostories菜单,进入仓库界面:
(1)仓库类型:
hosted:宿主仓库,其实就是本地的仓库
proxy:代理仓库,就是当前私服代理了其他的第三方仓库或Apache的中央仓库
virtual:虚拟仓库
group:多个仓库可以组成一个组,使用组就相当于在使用组内的仓库成员的资源
(2)说明:
如图的界面所示,nexus默认有一个仓库组(public
repositories),其配置可以通过它的configuration子标签页查看:
可以看到,这个组里边默认有本地的releases、snapsots、3rd
party库,同时还有central库,这些仓库的顺序决定了查找资源的顺序,所以最好将本地的放在前边。
releases库,系统默认的库,存放本地部署的release版包;
snapshots库,系统默认库,存放本地的snapshot版包;
party库,系统默认库,存放第三方包;
central库,代理Apache中间仓库。
到这里,我们的私服已经可以使用了。
6、使用仓库:
(1)修改maven的配置文件:
找到maven的配置文件(这里我直接修改%M2_HOME%/conf/setting.xml文件),找到节点,添加一个镜像节点:
id:镜像的位唯一标示
mirrorOf:代理哪些仓库,*为所有的资源都从本maven私服获取
url:及新搭建的私服的默认仓库组的url地址(通过页面可以查看)
同样,在节点配置一个节点和Repostory节点。
ok,配置完成,接下来,我们可以在项目的pom.xml中配置需要的jar包,如果本地没有,则会到我们搭建的私服中找其索引文件,并并下载到本地,如果私服没有,则会去仓库组中找(确切的说是仓库组配置的Apache中央仓库去找),找到并将索引文件保存到私服中,将jar包下载到本地仓库中。
因此,我们没必要将中央仓库的所有索引下下来,而是使用到的时候会自动下载。
7、如何发布本地的jar包到私服中?
(1)配置授权:
在maven的配置文件(这里我直接修改%M2_HOME%/conf/setting.xml文件)中,找到节点,添加两个server配置:
id:必须与项目的pom中配置distributionManagement的中的id相同,唯一标示,这里的release表示发布release版本的包到release仓库,而snapshot表示发布snapshot版本的包到snapshot仓库;
username:具有私服发布包权限的用户的User
ID,具体见私服的权限和用户说明
password:当然是用户的密码。
&font style="font-size:
16"&&b&(2)在项目的pom.xml配置文件中,配置发布的地址信息:&\/b&&\/font&
&font style="font-size: 16"&&a
href="http://photo.blog.sina.com.cn/showpic.html#blogid=6c969b4a0102vlf6&url=http://album.sina.com.cn/pic/001Zi7RUgy6QNt6DCUcfc"
target="_blank"&&img
src="http://s13.sinaimg.cn/mw690/001Zi7RUgy6QNt6DCUcfc&690"
width="690" height="211"
id="image_operate_43242"&&\/a&&br&&br&&\/font&
id:与(1)中配置授权时的id一致;
url:私服对应的仓库的url地址。其实,这部分信息在私服仓库子标签页summary可以查看:
&font style="font-size:
16"&&b&(3)ok,配置完成&\/b&&\/font&
可以发布你的jar包到私服中了,如果项目的pom.xml中,version属性有SNAPSHOT表示为快照版,则会发布到snapshot仓库中,否则,发布到release仓库中。
&font style="font-size:
18"&&b&注意事项总结:&\/b&&\/font&
1、私服不会下载中央仓库的所有jar包,而是下载其索引文件,最终的jar包还是来自中央仓库或第三方仓库;
2、不需要一开始就下载中央仓库的索引文件,该文件很大,而是使用过程中逐渐下载;
3、注意仓库组的概念,一般来说默认的组已经完全够用了,按照需要,可以自己建立需要的仓库。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。扫码下载官方App
学习过该课程的人还学习过:
其他联系方式
所属系列课程
& 网易公司 版权所有
关注我们:
Maven配置与使用,李兴华,Maven是现在企业项目之中使用最多构建工具,也是自Ant之后使用最为广泛的构建工具,掌握Maven可以方便的实现开发包的管理操作。在本课程中将为读者讲解Maven的使用,Eclipse集成开发以及Nexus私服的配置操作。
适用人群:Java开发人员 项目管理人员 相关专业与技术爱好者成功是要付出代价的,那你还愿意付出吗
maven私服配置
私服是什么
私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是。默认端口8081,这里我选择最新版nexus-2.5.0-04。
Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。
开启Nexus服务后访问url地址http://localhost:8081/nexus/(推荐使用自己的ip地址),之后登录系统,用户名密码分别是:admin/admin123.
最频繁的就是点击左侧菜单栏的按钮
一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。
类型的仓库,内部项目的发布仓库
releases内部的模块中release模块的发布仓库
snapshots发布内部的SNAPSHOT模块的仓库
3rd party第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
类型的仓库,从远程中央仓库中寻找数据的仓库
类型的仓库,组仓库用来方便我们开发人员进行设置的仓库
maven项目索引
下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能
保存后后台会运行一个任务,点击菜单栏的选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如spring-core
就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息
&repositories&
&repository&
&id&nexus&/id&
&name&nexus&/name&
&url&http://192.168.1.103:8081/nexus/content/groups/public/&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/repository&
&/repositories&
指定插件仓库
&pluginRepositories&
&pluginRepository&
&id&nexus&/id&
&name&nexus&/name&
&url&http://192.168.1.103:8081/nexus/content/groups/public/&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/pluginRepository&
&/pluginRepositories&
这样只有本项目才在私服下载组件这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。
修改settings.xml为
追加激活profile
&activeProfiles&
&activeProfile&central&/activeProfile&
&/activeProfiles&
之后所有本机的Maven项目就在私服下载组件。(这样比较好)
项目的发布
&distributionManagement&
&repository&
&id&user-release&/id&
&name&User Project Release&/name&
&url&http://192.168.1.103:8081/nexus/content/repositories/releases/&/url&
&/repository&
&snapshotRepository&
&id&user-snapshots&/id&
&name&User Project SNAPSHOTS&/name&
&url&http://192.168.1.103:8081/nexus/content/repositories/snapshots/&/url&
&/snapshotRepository&
&/distributionManagement&注意配置了还是发布项目到私服失败,原因为没有权限
配置权限在settings.xml
然后运行发布
clean deploy
在控制台发布成功
然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目
宿主库——3rd party
假如我们下载了Oracle的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd
party,之后选择Artifact Upload上传至宿主空间。
最后点击上传
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!Maven、eclipse与Nexus私服配置指南
Maven是一个软件项目管理工具,通过它可便捷的管理项目的生命周期。即项目的jar包依赖,开发,测试,发布打包、版本等。虽然目前的IDE工具(如eclipse)可管理开发、发布、打包工作,但还没有形成一套完成的体系。
Maven有以下几个功能特点:
1、 jar包依赖
  这个也许会maven最突出的特点。使用maven进行开发时,不需要上网单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动下载jar包到我们的项目中(在联网情况下,maven可自动从中下载所需要的jar包。如果无法联网,可搭建基于Nexus私服的中央库并提供jar包下载)。这样,别人开发或者使用这个工程时,不需要来回的拷贝jar包,只需要复制这个pom.xml就可以自动的下载这些jar包。而且,我们自己下载jar包,还有可能造成版本的不一致,这样在协同开发的过程中就有可能造成代码运行的不一致。通过使用maven精确的匹配jar包,就不会出现这种问题了。
以下是一个项目的pom.xml中对jar包依赖的描述:
&dependencies&
&!-- spring需要的jar包 --&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-context&/artifactId&
&version&3.2.4.RELEASE&/version&
&type&jar&/type&
&/dependency&
&/dependencies&
2 项目坐标
Maven通过特定的标识来定义项目名称,这样既可以唯一的匹配其他的jar包,也可以通过发布,使别人能使用自己的发布产品。这个标识就被叫做坐标,长的其实很普通,就是简单的xml而已。比如,以下为一个web项目的项目坐标描述信息(在该项目的pom.xml文件的开始位置)
&groupId&com.nci&/groupId&
&artifactId&first_maven&/artifactId&
&version&1.0.0&/version&
&packaging&war&/packaging&
各字段说明:
groupId:所述的项目名称,由于有的项目并不是一个jar包构成的,而是由很多的jar包组成的。因此这个groupId就是整个项目的名称。
artifactId:包的名称。
version:版本号。
packaging:包的类型,一般都是jar,也可以是war之类的。如果不填,默认就是jar。War代表web项目。
3 测试驱动
Maven是测试驱动的开发思路,因此工程创建初期,就包含两个文件夹,main和test。一个用于放置开发的java文件,一个用于写test单元测试。这样每次开发的时候,提前设计单元测试,就能帮助减少BUG。
下载:到apache官网下载apache-maven-3.3.9-bin.zip,解压放置到某个目录下(如D:\run_enviroment\apache-maven-3.3.9)
设置系统环境变量:
新建系统变量MAVEN_HOME= D:\run_enviroment\apache-maven-3.3.9;然后将将这个系统变量添加到系统变量path中“%MAVEN_HOME%\bin”
测试:在命令行中执行mvn –version,可显示maven的版本号
1、设置镜像库地址
Maven默认的中央库地址为https://repo.maven.apache.org/maven2,但目前从这个地址下载jar不太稳定。因此,设置一个稳定的镜像库代替默认的中央库,以便maven可以从这个镜像库中下载项目依赖的jar包。
在D:\run_enviroment\apache-maven-3.3.9\conf\settings.xml中设置镜像库的地址,如下
&id&central&/id&
&mirrorOf&*&/mirrorOf&
&name&central-mirror&/name&
&url&http://repo1.maven.org/maven2/&/url&
2、设置本地资源库位置
Maven会将当前项目需要的jar包从中央库中下载到各个开发机的磁盘上,这称为Local Repository。默认的Local Repository位置为C:\Users\用户名\.m2\repository。但可以手动修改settings.xml文件中的相关内容来重新设置Local Repository的位置。
基于Maven在Eclispe中开发项目
配置eclispe使用的maven(前提是已有maven插件)
1、在eclipse中设置maven的配置文件路径(即设置settings.xml)以及本地资源库的位置。
创建maven工程
1、 直接点击新建,在里面可以找到Maven选项卡,点击MavenProject创建Maven工程
2、 选择默认的工程位置
初次使用时,可以勾选“create asimple project(skip archetype selection)”,这样就比较简单。Archetype应该是一些类似模板的东西,选择不同的模板后,maven就会创建基础的东西,方便开发。
3、 填写相关的groupIdartifactId version等信息。
Packaging类型设置为war时,将建立web项目。Packaging的默认值为jar,代表创建的项目为javaproject。
点击完成就创建好了一个简单的mavenweb工程。目录结构如下:
pom.xml:用于定义或者添加jar包的依赖
src/main/java:用于存放java源文件
src/main/resource:存放java类使用的资源文件
src/main/webapp:存放页面文件(类似于创建DynamicWeb Project时生成的web content文件件)
src/test:用于存放测试用例。
target:生成对应的class文件或发布的jar包。
4、 创建web项目需要的文件夹、文件
在第3步中生成的webproject上有x,是因为缺少web.xml文件。因此,可以从别的项目中复制web-inf/web.xml文件夹及文献到webapp文件夹下,形成下面的目录结构。
到此为止,一个使用maven创建的web项目就成功了。编译的结果在target中的war包。
项目的maven属性
设置java编译器版本
添加依赖的jar包
在项目的pom.xml中添加当前项目依赖的jar包,然后执行maven-&update project则可从中央库中下载所需要的jar包到本地库。
&dependencies&
&!-- spring需要的jar包 --&
&dependency&
&groupId&org.springframework&/groupId&
&artifactId&spring-context&/artifactId&
&version&3.2.4.RELEASE&/version&
&type&jar&/type&
&/dependency&
&/dependencies&
1、功能、原理及结构
在使用maven进行开发时,依赖的jar包是从中央库中下载,而中央库都是在互联网上部署的。而有的企业是不开放互联网访问的。因此,需要在内网部署一套类似中央库的系统,这个系统一方面可以从互联网上部署的中央库下载jar包,一方面又可以为内网的本地maven提供jar包下载。这个东西就被称为“私服”。
私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载(也就是说,是开发机上的maven请求jar下载时,才会触发nexus从外部远程仓库中下载依赖的jar,nexus本身并不会去远程仓库中下载jar)。原理如下如所示:
常用的私服有:,,。这里我们使用 Sonatype Nexus。
2、仓库类型:点击左侧 Repositories链接,查看 Nexus内置的仓库:
Nexus 的仓库分为这么几类(type字段):
hosted 宿主仓库:主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件。nexus内置了三个host库。
3rd party:第三方库,如mysql 的jdbc驱动jar
Release:自己开发的release版本的jar
Snapshots:自己开发的snapshot版本的jar(可理解为测试版本)
proxy 代理仓库:代理公共的远程仓库;
virtual 虚拟仓库:用于适配 Maven 1;
group 仓库组:Nexus 通过仓库组的概念统一管理多个仓库,这样我们在项目中直接请求仓库组即可请求到仓库组管理的多个仓库。Nexus内置了一个group仓库组“public repositories”,这个仓库组包含了4个仓库。
安装及配置
下载开源版本的Nexus OSS,nexus-2.11.3-01.zip。这个版本自带了jetty作为应用服务器。
解压放置都某个目录下,这里目录为D:\run_enviroment
生成window服务:进入
D:\run_enviroment\nexus-2.11.3-01\bin\jsw\windows-x86-64,
点击“install-nexus.bat”,将nexus注册为windows service。
在window中启动nexus,然后在浏览中访问:localhost:8081/nexus,账号密码为admin/admin123
配置中央库:
设置Remote Storage Location=http://repo1.maven.org/maven2/;默认的https方式出现异常,应该是证书的问题,所以修改为http方式。
Download Remote Indexes=true,这样就能在“ArtifactSearch”中进行检索了。
添加第三方jar到3rdrepository
使maven使用nexus私服
在每台开发机上的maven配置文件settings.xml中添加mirror,如下图所示。
设置mirroof=*,则maven的所有请求都早当前mirror
url即为已配置好的nexus的group repositiores地址。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 maven怎么配置tomcat 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信