搜档网
当前位置:搜档网 › maven本地资源仓库安装及管理

maven本地资源仓库安装及管理

maven本地资源仓库安装及管理
maven本地资源仓库安装及管理

Nexus是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST 客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。

你可以从https://www.sodocs.net/doc/5516531628.html,/downloads/下载最新版本的Nexus

Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。第二种方式是WAR,你只须简单的将其发布到web容器中即可使用。

Bundle方式安装

解压nexus-webapp-1.7.0-bundle.zip至任意目录,如D:\dev_tools,然后打开CMD,cd至目录D:\dev_tools\nexus-webapp-1.7.0\bin\jsw\windows-x86-32,运行Nexus.bat。你会看到Nexus的启动日志,当你看到“Started SelectChannelConnector@0.0.0.0:8081”之后,说明Nexus启动成功了,然后打开浏览器,访问http://127.0.0.1:8081/nexus,你会看到如下的页面:

要停止Nexus,Ctrl+C即可,此外InstallNexus.bat可以用来将Nexus安装成一个windows服务,其余的脚本则对应了启动,停止,暂停,恢复,卸载Nexus服务。

WAR方式安装

你需要有一个能运行的web容器,这里以Tomcat为例,加入Tomcat的安装目录位于

D:\dev_tools\apache-tomcat-6.0.18,首先我们将下载的nexus-webapp-1.3.0.war重命名为nexus.war,然后复制到D:\dev_tools\apache-tomcat-6.0.18\webapps\nexus.war,然后启动CMD,cd到{_}D:\dev_tools\apache-tomcat-6.0.18\bin_ 目录,运行startup.bat。一切OK,现在可以打开浏览器访问http://127.0.0.1:8080/nexus,你会得到和上图一样的界面。

登陆

要管理Nexus,你首先需要以管理员身份登陆,点击界面右上角的login,输入默认的登录名和密码:admin/admin123,登陆成功后,你会看到左边的导航栏增加了很多内容:

这里,可以管理仓库,配置Nexus系统,管理任务,管理用户,角色,权限,查看系统的RSS 源,管理及查看系统日志,等等。你会看到Nexus的功能十分丰富和强大。

代理Maven中央仓库

点击左边导航栏的Repositories,界面的主面板会显示所有一个所有仓库及仓库组的列表,你会看到它们的Type字段的值有group,hosted,proxy,virtual。这里我们不关心virtual,只介绍下另外三种类型:

?hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。

?proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。

?group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。

由此我们知道,我们需要配置一个Maven中央仓库的proxy,其实Nexus已经内置了Maven Central,但我们需要做一些配置。点击仓库列表中的Maven Central,你会注意到它的Policy 是release,这说明它不会代理远程仓库的snapshot构件,这是有原因的,远程仓库的snapshot 版本构件不稳定且不受你控制,使用这样的构件含有潜在的风险。然后我们发现主面板下方有三个Tab,分别为Browse,Configuration和Mirrors,我们点击Configuration进行配置,你现在需要关心的是两个配置项:“Remote Storage Location”为远程仓库的地址,对于Maven Central 来说是https://www.sodocs.net/doc/5516531628.html,/maven2/;“Download Remote Indexes”顾名思义是指是否下载

远程索引文件,Maven Central的该字段默认为False,这是为了防止大量Nexus无意识的去消耗中央仓库的带宽(中央仓库有大量的构件,其索引文件也很大)。这里我们需要将其设置为True,然后点击Save。在Nexus下载的中央仓库索引文件之后,我们就可以在本地搜索中央仓库的所有构件。下图展示了我们刚才所涉及的配置:

添加一个代理仓库

这里我们再举一个例子,我们想要代理Sonatype的公共仓库,其地址为:

https://www.sodocs.net/doc/5516531628.html,/content/groups/public/。步骤如下,在Repositories面板的上方,点击Add,然后选择Proxy Repository,在下方的配置部分,我们填写如下的信息:Repository ID - sonatype;Repository Name - Sonatype Repository;Remote Storage Location -

https://www.sodocs.net/doc/5516531628.html,/content/groups/public/。其余的保持默认值,需要注意的是Repository Policy,我们不想代理snapshot构件,原因前面已经描述。然后点击Save。配置页面如下:

Nexus预定义了3个本地仓库,分别为Releases,Snapshots,和3rd Party。这三个仓库都有各自明确的目的。Releases用于部署我们自己的release构件,Snapshots用于部署我们自己

的snapshot构件,而3rd Party用于部署第三方构件,有些构件如Oracle的JDBC驱动,我们不能从公共仓库下载到,我们就需要将其部署到自己的仓库中。

当然你也可以创建自己的本地仓库,步骤和创建代理仓库类似,点击Repository面板上方的Add 按钮,然后选择Hosted Repository,然后在下方的配置面板中输入id和name,注意这里我们不再需要填写远程仓库地址,Repository Type则为不可修改的hosted,而关于Repository Policy,你可以根据自己的需要选择Release或者Snapshot,如图:

Nexus中仓库组的概念是Maven没有的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只管根据groupId,artifactId,version等信息向你要构件。为了方便Maven的配置,Nexus能够将多个仓库,hosted或者proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。

Nexus预定义了“Public Repositories”和“Public Snapshot Repositories”两个仓库组,前者默认合并所有预定义的Release仓库,后者默认合并所有预定义的Snapshot仓库。我们在本文前面的部分创建了一个名为“Sonatype Repository”的仓库,现在将其合并到“Public Repositories”中。

点击仓库列表中的“Public Repositories”,然后选择下方的"Configuration" Tab,在配置面板中,将右边“Avaiable Repositories”中的“Sonatype Repository”拖拽到左边的“Ordered Group Repository”中,如图:

创建仓库组和创建proxy及hosted仓库类似,这里不再赘述。需要注意的是format字段需要填写“maven2”,添加你感兴趣的仓库即可。

在浩大的Maven仓库中一下下点击链接,浏览路径以寻找感兴趣的构件是一件很郁闷的事情。Nexus基于nexus-indexer提供构件搜索功能,要想对仓库进行搜索,无论是hosted,proxy,或者group,你都必须确认索引文件存在。这一点对于代理仓库尤其重要,有些远程仓库可能根本就没有索引,所以你无法搜索这些代理仓库。有些远程仓库的远程索引非常大,如中央仓库达到了70M左右,那么第一次下载索引需要花很多时间,所以要期望得到搜索结果,确保看到如下的文件:

一旦你的Nexus拥有了本地或者远程仓库的索引文件,你就可以享受Nexus的构件搜索功能了。不论登陆与否,你都可以使用关键字进行模糊搜索,比如我在左边导航栏上部的搜索框内输入junit,然后点击搜索按钮,右边立刻会分页显示500多条的junit相关构件信息。如果你了解更多的信息,你也可以通过限定groupId,artifactId,version进行搜索,点击导航栏中的“Advanced Search”,点击右边所有页面左上角的下拉框,选择“GAV Search”。这里输入junit:junit:4.4,然后回车:

选择一项搜索结果,在页面下方会显示“Artifact Information”的面板,你可以点击"artifact"或者"pom"下载对应文件,而该面板右边更显示了一个Maven依赖配置,你可以直接复制该配置到Maven POM中,这是个十分方便的特性。

此外,值得一提的是,Nexus还支持基于classname的搜索,你只需点击搜索页面右上角的下拉框,选择“Classname Search”,然后输入类名即可,这里我不再赘述。

默认情况下,Maven依赖于中央仓库,这是为了能让Maven开箱即用,但仅仅这么做明显是错误的,这会造成大量的时间及带宽的浪费。既然文章的前面已经介绍了如何安装和配置Nexus,现在我们就要配置Maven来使用本地的Nexus,以节省时间和带宽资源。

我们可以将Repository配置到POM中,但一般来说这不是很好的做法,原因很简单,你需要为所有的Maven项目重复该配置。因此,这里我将Repository的配置放到

$user_home/.m2/settings.xml中:

...

dev

local-nexus

http://127.0.0.1:8080/nexus/content/groups/public/

true

true

dev

...

由于我们不能直接在settings.xml中插入元素,这里我们编写了一个profile,并添加了一个profile并使用元素自动将这个profile激活。这里的local-nexus仓库指向了刚才我们配置的Nexus中“Public Repositories”仓库组,也就是说,所有该仓库组包含的仓库都能供我们使用。此外,我们通过元素激活了Maven对于仓库所有类型构件下载的支持,当然你也可以调节该配置,比如说禁止Maven从Nexus下载snapshot 构件。

使用该配置,Maven就会从你的Nexus服务器下载构件了,速度和从Central下载可不是一个数量级的。

Nexus提供了两种方式来部署构件,你可以从UI直接上传,也可以配置Maven部署构件。

通过Nexus UI部署

有时候有个jar文件你无法从公共Maven仓库找到,但是你能从其它得到这个jar文件(甚至是POM),那么你完全可以将这个文件部署到Nexus中,使其成为标准流程的一部分。步骤如下:

点击左边导航栏的"Repository",在右边的仓库列表中选择一个仓库,如“3rd Party”,然后会看到页面下方有四个tab,选择最后一个“Upload”,你会看到构件上传界面。选择你要上传的构件,并指定POM,(或者手工编写GAV等信息),最后点击Upload,该构件就直接被部署到了Nexus的"3rd Party"仓库中。如图:

通过Maven部署

更常见的用例是:团队在开发一个项目的各个模块,为了让自己开发的模块能够快速让其他人使用,你会想要将snapshot版本的构件部署到Maven仓库中,其他人只需要在POM添加一个对于你开发模块的依赖,就能随时拿到最新的snapshot。

以下的pom.xml配置和settings.xml能让你通过Maven自动化部署构件:

pom.xml

...

nexus-releases

Nexus Release Repository

http://127.0.0.1:8080/nexus/content/repositories/releases/

nexus-snapshots

Nexus Snapshot Repository

http://127.0.0.1:8080/nexus/content/repositories/snapshots/

...

settings.xml

...

nexus-releases

admin

admin123

nexus-snapshots

admin

admin123

...

这里我们配置所有的snapshot版本构件部署到Nexus的Snapshots仓库中,所有的release 构件部署到Nexus的Releases仓库中。由于部署需要登陆,因为我们在settings.xml中配置对应Repository id的用户名和密码。

然后,在项目目录中执行mvn deploy,你会看到maven将项目构件部署到Nexus中,浏览Nexus对应的仓库,就可以看到刚才部署的构件。当其他人构建其项目时,Maven就会从Nexus 寻找依赖并下载。

本文介绍强大的仓库管理器------Nexus,包括如何下载安装Nexus,配置Nexus代理中央仓库,管理Nexus的代理仓库,本地仓库,以及仓库组。并帮助你了解如何通过Nexus搜索构件。最后,如何在Maven中配置Nexus仓库,以及如何部署构件到Nexus仓库中。这些都是Nexus 中最基本也是最常用的功能。随着使用的深入,你会发现Nexus还有很多其它的特性,如用户管理,角色权限管理等等。

Nexus的OSS版本是完全开源的,如果你有兴趣,你可以学习其源码,甚至自己实现一个REST 客户端。

马上拥抱Nexus吧,它是免费的!

JDK和Maven安装配置总结

1.JDK1.5的安装 这步和其他软件的安装一样,运行JDK安装文件,按步骤“下一步”一直到底,点击完成即可。在这里不在多说。 2.配置环境变量 1.右击"计算机",选择"属性",选择左边栏"高级系统设置",在选择"环境变量";进入下图: 2.点击“新建”弹出如下窗口 注意:变量名必须大写,变量值:JDK的安装目录:例如:D:\Program Files (x86)\Java\jdk1.5.0_10 3.再次点击“新建”配置CLASSHOME;变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

4.配置path,在列表中找到path选项打开 在变量值中填写:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 3.测试JDK是否配置成功 开始->运行;控制台中输入java -version,看是否能够正确显示版本号

Maven的安装和配置(就拿apache-maven-3.0.3来说吧) 1.从网上下载maven安装包,解压到自己的电脑中。 2.配置基本和JDK相似,同样需要配置M2_HOME 和path,依赖于JDK, 首先,运行..\apache-maven-3.0.3\bin中mvn.bat文件,然后把..\apache-maven-3.0.3\conf文件下的settings.xml文件拷贝到C:\Users\Administrator\.m2文件夹下,并且将.m2文件夹下的repository文件夹拷贝到..\mymaven\apache-maven-3.0.3文件夹下,最后修改setting.xml。修改前: 修改后: 3、右击“计算机”-》属性-》高级系统设置-》高级-》环境变量 1)新建->>M2_HOME 变量值:F:\mymaven\apache-maven-3.0.3 2)path的设置;

如何查找maven库的jar包

将开源项目的jar包导入maven形成独立项目 注:MAVEN仓库找jar包: 1,https://www.sodocs.net/doc/5516531628.html, 2,https://www.sodocs.net/doc/5516531628.html, 1,将“F:\share\开发框架\JFinal:WEB_ORM开发框架\JFinal官网\jfinal-1.8-bin-with-src.jar”这个jar包,解压到一个按maven项目建立的文件夹(D:\EclipseWorkspace\jfinal_bin_src\src\main\java)(如下图),删除文件夹下所有.class文件 2,在eclipse(luna)中导入上一步解压后的文件夹“D:\EclipseWorkspace\jfinal_bin_src”

3,如上图所示,多个java文件出现,import导入错误;如下图所示,输入import报错对应信息对应的jar包相关包内容,找到类似的包,如下图加红色圈标识,按“pom”链接

4,上一步“pom”链接打开,看下两图所示,复制前面maven的依赖相关代码,并拷贝到文本文档

5,在eclipse中打开(或新建)jfinal_bin_src/pom.xml,选择文件编辑区下方的“Dependencies”标签,再按“Add”按钮,如下图所示,从上一步的文本文件中复制Group Id等信息,并按

(注意,如果是有parent和model并存的,一般选择parent部分的Group Id和Version,“ok”。 选择model部分的Artifact Id) 6,如果上步输入的包依赖信息有错,则出现下图提示没有找到包

Maven配置

maven安装+maven本地仓库配置+maven镜像 1.安装maven前我们电脑上要确保安装了JDK1.6以上的版本 2.下载Maven Maven官网下载地址是https://www.sodocs.net/doc/5516531628.html,/download.html 下载apache-maven-3.2.5后,解压到你想要解压的地方 我本地解压到D:\Program Series\Tools\Apache-maven这个路径下 3.然后在配置maven的环境变量: MAVEN_HOME D:\Program Series\Tools\Apache-maven\3.2.5 PATH %MAVEN_HOME%bin

配置好以后环境变量以后,打开cmd窗口,输入mvn -v,如果出现以下内容就表示安装成功。 4.然后我们给maven添加本地的仓库地址 解压后的maven目录下找到conf目录,其中就会有一个setting.xml文件 我本地的地址是D:\Program Series\Tools\Apache-maven\3.2.5\conf 然后通过编辑器找到第53行,把注释去掉,修改成自己想要设置的本地仓库地址就可以了。我本地设置在maven的安装目录同级目录下 mvn文件夹的名字可以随便取,但是一定要确保设置的仓库地址是有效的地址,因为maven 是不会自动创建这个mvn文件夹的。 5.实验一下刚才做的事情产生作用没有,控制台输入: mvnhelp:system 如果没有任何问题,执行完该命令之后,在D:\maven\repository下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。Maven的安装配置和本地仓库地址的配置就已经结束了。 国内较快的maven镜像 国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用。 ====================国内OSChina提供的镜像,非常不错=================== CN OSChina Central https://www.sodocs.net/doc/5516531628.html,/content/groups/public/ central ======================================================== OSChina Maven 库使用帮助 ==================其他maven仓库镜像========================== repo2

Nexus仓库管理

Nexus仓库管理

管理仓库 为了管理Nexus仓库,以administrative用户登陆进Neuxs,然后点击Nexus 菜单左手边的Views/Repositories菜单中的Repositories。 Nexus提供了三种不同种类的仓库: ●Proxy Repositories ●Hostedrepositories ●Virtual repositories 1.代理仓库(Proxy Repository) 代理仓库是一个远程仓库的代理。默认的,Nexus附带下面已经配置的代理仓库: Apache Snapshots 这个仓库包含来ApacheSoftware Foundation发布的快照。 Codehaus Snapshots 这个仓库包含来Codehaus发布的快照。 Central 这是中央仓库包含发布组件。前身为Maven Central,它是Apache Maven默认的内置仓库,并且直接支持其它的构造工具,如Gradle, SBT或Ant/Ivy。Nexus通过HTTPS使用https://https://www.sodocs.net/doc/5516531628.html,/maven2/链接连接中央仓库。 2.宿主仓库(Hosted Repository) 主要用于部署无法从公共仓库获取的构件(如 oracle 的 JDBC 驱动)以及自己或第三方的项目构件。Nexus附带下面已经配置的宿主仓库: 3rd Party 这里存放的是某些在公共的Maven仓库中不存在的库,但依赖于第三方的仓库。这些依赖库可以是商业的,私有的库,例如Oracle JDBC驱动。 Releases

是你的组织将要发布的内部版本。这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍. Snapshots 是你的组织将要发布的内部块状。这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到 这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本. 2.虚拟仓库(Virtual Repository) Virutual repository作为不同类型仓库的适配器。当前,Nexus支持转换Maven 1仓库和Maven 2仓库。另外,你可以公开任何仓库格式为NuGet或OBR 仓库。例如,Maven 2仓库可以包含OSGi Bundles。a Maven 2 repository can contain OSGi Bundles, which can be exposed as a OSGi Bundle repository with the virtual repository Provider set to OBR. By default it ships with a Central M1 shadow repository that exposes the Central repository in Maven 1 format. 配置仓库 Repository窗口允许你建立,更新和删除不同的仓库使用Add,Delete和Trash按钮。Refresh按钮更新显示仓库和仓库组列表。正当在Nexus用户界面之行任何的delete操作,Trash按钮允许清空那些已删除组件的备份垃圾文件夹。 默认的,Repository窗口显示仓库配置和管理。在Trash按钮的右边允许切换仓库列表和浏览被Nexus管理的仓库

Maven源配置教程

Maven安装及基本使用 1、安装maven首先到maven官网下载maven安装包, Maven下载地址, 下载apache-maven-3.3.9-bin.zip文件 > 由于当前系统为windows, 所以下载apache-maven-3.3.9-bin.zip文件; 如果您使用的系统为unix类系统请下载apache-maven-3.3.9-bin.tar.gz文件 > > 注: 由于maven是依赖于jdk的, 所以在安装maven前需要提前准备好jdk环境。jdk的安装方式不是本文的重点, 所以本文不进行展开说明了。 右键解压apache-maven-3.3.9-bin.zip文件到当前目录中即可 >如果您使用的为unix环境, 以CentOS为例, 使用以下命令进行解压 tar -zxvf apache-maven-3.3.9-bin.tar.gz 到此maven已经安装完成。 为了之后使用方便,所以需要将maven添加到环境变量中, 配置方式: 右键 "我的电脑" -> 选择 "属性" -> 选择 "高级系统设置" -> 选择 "高级" 标签页 -> 选择 "环境变量" 在新打开的窗口中的"系统变量"中新建变量名为"MAVEN_HOME", 变量值为 maven解压后的路径, 例如: E:-maven-3.3.9 然后编辑环境变量PATH, 在PATH的环境变量值的尾部添加";%MAVEN_HOME%", 一路确认后即添加成功。注: windows中多个环境变量的值需要用";"分隔 unix系统中环境变量的配置方式, 以CentOS为例: 使用以下方式为当前用户添加maven的环境变量打开~/.bashrc文件并在文件末尾添加以下内容 vim ~/.bashrc MAVEN_HOME=/opt/apache-maven-3.3.9 PATH=$PATH:$MAVEN_HOME/bin export MAVEN_HOME PATH 保存并退出, 并使用下面的命令使新添加的环境变量立即生效

(仓库管理)设置Maven组件库仓库

(仓库管理)设置Maven组件库仓库

设置Maven仓库 1. 介绍 Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。 Maven会从https://www.sodocs.net/doc/5516531628.html,中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven仓库,团队可以更有好地利用Maven仓库的优势并且克服使用ibiblio上的仓库时的缺点。 本文着眼于Maven仓库工具应提供的一些功能,列出了选择Maven仓库工具的标准,说明了使用Artifactory设置Maven仓库的相关步骤。在Linux和Windows 中设置Maven仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven仓库的使用有关的POM文件的范例,用截图来向用户阐述如何设置Maven仓库,Maven和artifactory配置范例也有列出。 1.1 背景知识 本文假定读者熟悉以下的概念和技术: ●Maven 2 ●J2EE web 服务器部署过程(e.g. 在Tomcat中部署Web应用程序) ●XML 1.2 Maven仓库的目的 Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为: ●构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好 ●保持较小的版本控制数据库 ●Checkout、update和其他版本控制的操作可以更快 1.3 建立内部私有仓库的优势: ●减少可能的版本冲突 ●减少首次构建时需要的手动干涉

eclipse maven 项目没有maven依赖仓库问题解决

eclipse maven 项目没有maven依赖仓库问题解决 之前是没有Maven Dependencies 这个文件夹仓库 解决办法: 添加箭头所指的配置到项目的classpath文件中

Maven个人理解

Maven简介: Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 Maven工作原理: Maven主要通过每个项目制定的pom.xml文件来管理项目的各种信息和特性。Maven把每个项目看成一个对象,通过pom.xml来定义这个对象的属性。每个项目都有自己的pom.xml,这样项目间的继承和依赖在pom.xml就表现为对象的继承和依赖,这点特别适合大型项目的部署。Maven还内置了一个super pom,所有的pom都继承自这个super pom,这样即使项目的pom.xml里看起来没有定义什么特性,这个项目也能执行基本的build逻辑。而当项目定义了自己的build逻辑时,就会自动覆盖父类POM的相应逻辑。 Maven采用远程仓库和本地仓库以及一个类似build.xml的pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。 Maven使用: 使用流程:(主要命令:mvn clean compile、mvn clean test、mvn clean package、mvn clean install) 1、编写POM,即配置pom.xml(定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等); 2、编写主代码(项目的主代码会被打包到最终的构件中); 3、编写测试代码(使用JUnit);

Maven使用中的常见问题整理

Maven使用常见问题整理 1、更新eclipse的classpath加入新依赖 1、在dependencyManagement里面加入包括版本在内的依赖信息,如: joda-time joda-time 1.6.2 2、在同级的dependencies节点里面加入该依赖,如: joda-time joda-time 3、使用mvn eclipse:clean删除当前的工程配置文件,并用mvn eclipse:eclipse重新生成。 4、导入或刷新该eclipse工程。 2、工程配置未使用pom.xml更新 问题:Project configuration is not up-to-date with pom.xml 导入maven工程后,出现如下错误: Description Resource Path Location Type Project configuration is not up-to-date with pom.xml. Run project configuration update rdc line 1 Maven Configuration Problem 解决办法就是: 右键项目,【Maven】--》【Update Project Configuration...】即可。。。

Maven的配置和使用

Maven的配置和使用 1、下载和安装maven 注:在使用之前,应首先安装JDK。 #可以去共用目录中下载,下载完后解压到指定的目录中,如C:\Program Files\apache-maven-2.2.0 #配置环境变量:1)MAVEN_HOME: 你安装的Maven的目录,如C:\Program Files\apache-maven-2.2.0 #在Path 中加入%MAVEN_HOME%\bin 配置完之后,在命令窗口中使用mvn –version 会出现如下信息 此时,maven已经安装配置好了。 2、使用maven来构建项目,从源代码编译成二进制项目文件 用maven对项目打包,比如用svn下载项目从 svn://10.0.0.58:8000/java/materias/poc/maven/core/,下载到指定的目录,比如放在 E:\workspace\java\materias\poc\maven\core目录下 项目的结构如下: 包括src源代码目录,unit test源码目录,以及配置文件目录resources 打开命令窗口,用cd命令转到项目所在的目录下 运行mvn compile,假如下现如下的结果,则该命令运行成功。 该命令是用来编译所有的的(java)源文件,编译后生成所有的class文件放在根目录下的target\classes目录下,即如 除此之外,maven还有很多其他常用的命令方式,比如: *mvn test-compile //编译测试代码,比如编译test下的源文件,编译后生成的所有的class文件放在根目录下的target\test-classes目录下 *mvn test //运行应用程序中的单元测试,比如对以上的项目,测试生成的结果放在根目录下的 target\surefire-reports目录下, *mvn clean //清除目标目录中的生成结果delete target,即会清除生成的target目录

设置maven组件库仓库

设置Maven 仓库 1. 介绍 Maven 是Java 开发者中流行的构建工具,Maven 的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven 建议的方法是将所有软件构件存储于一个叫做repository 的远程仓库中。 Maven 会从https://www.sodocs.net/doc/5516531628.html, 中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven 仓库,团队可以更有好地利用Maven 仓库的优势并且克服使用ibiblio 上的仓库时的缺点。 本文着眼于Maven 仓库工具应提供的一些功能,列出了选择Maven 仓库工具的标准,说明了使用Artifactory 设置Maven 仓库的相关步骤。在Linux 和Windows 中设置Maven 仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven 仓库的使用有关的POM 文件的范例,用截图来向用户阐述如何设置Maven 仓库,Maven 和artifactory 配置范例也有列出。 1.1 背景知识本文假定读者熟悉以下的概念和技术: Maven 2 J2EE web服务器部署过程(e.g.在Tomcat中部署Web应用程序) XML 1.2 Maven 仓库的目的 Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到 版本控制系统中更有优势,这是因为: 构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好 保持较小的版本控制数据库 Checkout、update 和其他版本控制的操作可以更快 1.3 建立内部私有仓库的优势: 减少可能的版本冲突减少首次构建时需要的手动干涉中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好使用内部仓库做clean

(精品仓库管理)设置Maven组件库仓库

(精品仓库管理)设置Maven组件库 仓库

设置Maven仓库 1.介绍 Maven是Java开发者中流行的构建工具,Maven的好处之一是可以帮助减少构建应用程序时所依赖的软件构件的副本,Maven建议的方法是将所有软件构件存储于一个叫做repository的远程仓库中。 Maven会从https://www.sodocs.net/doc/5516531628.html,中的公用仓库中同步构件,这个公用仓库下载缓慢、不稳定,并且不包含一些构件的最新版本,而且不能上传团队私有的构件。通过设置内部Maven仓库,团队可以更有好地利用Maven仓库的优势并且克服使用ibiblio上的仓库时的缺点。 本文着眼于Maven仓库工具应提供的一些功能,列出了选择Maven仓库工具的标准,说明了使用Artifactory设置Maven仓库的相关步骤。在Linux和Windows 中设置Maven仓库的过程是相同的,少数不同点在文中已经用高亮显示,本文列出了与这个Maven仓库的使用有关的POM文件的范例,用截图来向用户阐述如何设置Maven仓库,Maven和artifactory配置范例也有列出。 1.1背景知识 本文假定读者熟悉以下的概念和技术: ●Maven2 ●J2EEweb服务器部署过程(e.g.在Tomcat中部署Web应用程序) ●XML 1.2Maven仓库的目的 Maven仓库的目的是作为团队内所使用的所有软件构件的内部私有构件仓库,将Maven构件(jar和pom)存储到一个专门的Maven仓库比将它们存储到版本控制系统中更有优势,这是因为: ●构件(jar)是二进制文件,不属于版本控制系统,版本控制系统在处理文本文件方面比较好 ●保持较小的版本控制数据库 ●Checkout、update和其他版本控制的操作可以更快 1.3建立内部私有仓库的优势: ●减少可能的版本冲突 ●减少首次构建时需要的手动干涉 ●中央仓库包含所有依赖的软件构件,引用单一的中央仓库比引用多个独立的本地库要好 ●使用内部仓库做clean构建时会快些,因为Maven构件是从内部服务器而不是从因特网上的ibiblio服务器获取。 1.4Maven构件库的类型 ●本地仓库——位于开发者的机器,由开发者维护,它从位于‘~home/.m2’目录的‘settings.xml’文件中定义的Maven仓库上同步,如果在pom.xml或 setting.xml文件中没有设置内部私有远程仓库,那么开发者机器上的这个本地仓库就会从https://www.sodocs.net/doc/5516531628.html,上的公用Maven仓库上同步。 ●内部私有远程仓库——这是我们将要设置的仓库,我们将改变maven的pom.xml或settings.xml文件来使用这个库。

Maven入门及与Eclipse集成使用详解

Maven入门及与Eclipse集成使用详解一Maven是什么 1.1 Maven释义及用处 Maven 的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM),是一个完整生命周期的框架。开发人员只需做一些简单的配置,就可以批量完成项目的构建、报告和文档的生成工作。 二准备工作 2.1 下载Maven Maven的官方下载地址:https://https://www.sodocs.net/doc/5516531628.html,/download.cgi。 本文使用的Maven版本为3.6.3,下载后解压到合适的文件夹,不要有中文或者空格,本例中解压的路径为 E:\opensource\maven\apache-maven-3.6.3。

三配置环境 3.1 配置环境变量 本文所用的操作系统为Windows10,接下来配置Maven的环境变量MAVEN_HOME和MAVEN_OPTS(可选)。各操作系统上,步骤大抵相同。桌面上右键我的电脑属性,点击高级系统设置,再点击环境变量,然后新建刚提到的两个环境变量,之后在Path变量中加入%MAVEN_HOME%\bin,配置完成后如下图所示。 新建两个环境变量

更新path变量 3.2 验证配置 命令行模式下,运行:mvn -v,如果显示如下结果,则表示安装成功。 3.3 配置本地仓库 本地仓库可以说是远程仓库的本地缓存,当你构建Maven项目

的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。 本地仓库的默认位置:${user.home}/.m2/repository,在C盘下,系统盘下放置本地仓库着实不妥,一般都会放置其他盘下。在Maven 的安装路径下,打开conf文件下的settings.xml文件,配置localRepository节点值,本文将localRepository配置如下。 四IDE配置 4.1 安装插件 本文使用的IDE为Eclipse 4.6.1,内置的有Maven插件。Eclipse 下的Maven插件名称为M2Eclipse,如果觉得自带的插件比较旧,可以更新到较新的版本。具体步骤:点击Eclipse 帮助菜单,再点击安装详细信息,如下图所示

Nexus下载远程Maven仓库索引

Nexus下载远程Maven仓库索引 在开发过程中,常常只记得某个构建名字,而不记得其具体的配置信息及可用版本等,这个时候可以通过nexus的构建搜索功能查询得到适用的构建;搜索构建的前提是构建在仓库中已经建立索引,没有建立索引或者索引不存在的情况下是搜索不到构建信息的;Nexus默认是不下载远程仓库的索引的,如果想在Nexus中搜索远程仓库中的构建需要先下载远程仓库的索引。如果通过nexus搜不到某个的构件,那说明这个构件不在当前nexus所登记的仓库中,可能需要添加额外的代理仓库或手工上传某个构件。 下载索引的步骤: 1. 打开Repositories标签,选中远程仓库(central)并打开Configuration,将Download Romote Location 设置为true; 2. 在远程仓库上右键选择Update Index,Nexus会自动建立一条任务计划;一般远程仓库都比较大,构建会比较多,索引文件会很大,像https://www.sodocs.net/doc/5516531628.html,/maven2/就有几百M,因此需要的时间就比较长。 可以进入Scheduled Tasks查看任务的执行情况,当执行完成时,远程仓库的索引就已经建立完毕了。

3. Artifact Search功能试试是不是已经可以查询到远程仓库中的构建信息了。 如果使用这种方法不能成功,可以去看下日志,看具体是什么原因,有可能是连接问题。如果是连接问题,可以用下面这个方式: 1、通过其它方式下载如下两个文件: https://www.sodocs.net/doc/5516531628.html,/maven2/.index/nexus-maven-repository-index.properties https://www.sodocs.net/doc/5516531628.html,/maven2/.index/nexus-maven-repository-index.gz 2、找一个Apache Tomcat服务器,在其根目录(ROOT)下建立一个/maven2/.index 的虚拟目录(注意: 如果你使用的是XP 系统, 可能无法建立.index文件夹, 在cmd下使用mkdir命令可创建),把上述两个文件拷贝至该目录下;修改Tomcat的服务端口为80. 3、编辑c:\WINDOWS\system32\drivers\etc\hosts 文件,在文件中加入: 127.0.0.1 https://www.sodocs.net/doc/5516531628.html, 注:127.0.0.1 为步骤2的Apache Tomcat服务器IP地址。

Maven 环境的配置

Maven 环境的配置 首先要安装Jdk1.6 和Myeclipse7.5 ,至于怎么安装这两个东东,我就不详细说了。 2. 设置Maven的环境变量,基本上和设置Jdk环境变量相似。 首先设置MAVEN_HOME: 再加入Path 3. 修改”settings.xml” 文件,在这个文件中找到 d:/work这一行,进行修改。这一行代表了Maven的Jar包仓库的位置。work下放的都是项目所用到的jar包,每个Project 都可以共用一个work。

6. 建立Maven的project,File--new—other—Java Maven Project 7. 然后打开project里pom.xml文件, 4.0.0 maventest maventest jar 0.0.1-SNAPSHOT Maven Quick Start Archetype https://www.sodocs.net/doc/5516531628.html, junit

Maven使用文档

Maven使用文档 如何安装: 1. Maven 下载地址:https://www.sodocs.net/doc/5516531628.html,/download.html 2. 解压后安装,配置环境变量 环境变量写到bin目录即可 运行CMD编译程序 键入mvn -version

如图,出现版本号则环境变量配置成功。 常用命令 简单介绍一下,Maven的常用命令: 1.创建Maven目录 mvn archetype:create -DgroupId=com.yourCompanyName -DartifactId=yourAppName 2.测试 mvn test 3.编译类 mvn compile 4.打包 mvn package

5.生成Site mvn site 5.清除 mvn clean 使用Maven 1.建立项目 先介绍一下Maven的src下主要有两个目录:main和test目录 一般的测试类放到test,而其他放到main下面。 在cmd中,进入你想新建工程的目录(例如:D:\example) 使用Maven创建一个新项目: 键入命令mvn archetype:create -DgroupId=com.jingge -DartifactId=MyfirstExample

其中groupid:创建项目的组织或团体的唯一Id. artifactId:项目的唯一Id, 可视为项目名. 这样新建了一个项目 可以打开文件夹看看他的结构

2.给项目打包 Maven的特点之一就是打包 先进入新建的目录 然后运行MVN package

这样mvn给你刚才的MyfirstExample项目打了一个jar包项目中会出现一个target文件夹,jar包在其中。 现在我们看看运行这个jar 3.运行jar包 首先,Maven自动生成的src/main里有个文件App.java

Maven3实战笔记01环境配置与使用入门

Maven3实战笔记01环境配置与使用入门 刘岩 Email: 1.前言 Maven是apache的一个顶级项目,它的出现越来越影响着现在的众多的开源项目,不仅如此,很多公司的很多新项目都采用Maven提倡的方式进行管理。Maven正逐渐侵入我们原先的管理项目的习惯,对于团队的管理,项目的构建,都是一种质的飞跃。当然是我个人的一些项目经验而说的这话。如果原先的团队老大本身的管理非常科学,也有一套其他软件辅助项目的构建、打包、发布等等一系列机制保证。那么Maven可能对其并没有实质性的影响或者是质的飞跃。当然在此也并不是说咱们中国人做出来的项目就管理不善……只是说利用Maven帮助我们构建项目更科学、更有可维护性、更加模块化、模块功能更加职能单一、做出来的项目更加具有可复用性等等好处。当然笔者也是个刚学习Maven的人,我们一起来学习Maven到底为我们带来了什么好处。笔者邮箱已经给出,欢迎与笔者进行学术上的交流。 2.Maven的思想 本来想看完了实战整本,再写总结的,后来觉得还是先写出来吧。哪怕有什么不对的地方再纠正都不晚,就怕到时候看完了一点心得都没有,全忘了就太……所以先将学习的点点滴滴感受写下来,之后结合实例咱们可以反复的推敲。 目前笔者看到的Maven的主要功能是:项目构建;项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理; 由此可以看出Maven最主要的体现在了哪2个词?——对了,“项目”和“管理”!加在一起就是项目管理。项目管理是一个很抽象的概念。项目管理既可以指技术上的管理手段,也可以指“以人为本”的非技术因素。诚然,无论是技术还是非技术,项目的成败最大的责任人其实就是项目经理。这里我们抛开人为因素不提,仅就技术上来说,Maven 提供了一种思想让团队更科学的管理、构建项目。用配置文件的方式对项目的描述、名称、版本号、项目依赖等等信息进行描述。使之项目描述结构清晰,任何人接手的成本比较低。在项目构建时,利用Maven的“约定大于配置”的思想,可以比Ant脚本构建项目省去不少配置文件的内容。而且一个项目可能依赖于其他的项目和第三方的组件才能顺利完成,Maven提供了仓库的概念,让这些依赖项放进仓库中,项目想要从仓库中去取,其他项目组也需要,OK,从仓库中去取,不必每个人去开源项目的站点去苦苦搜寻了。如此人员的成本、软件维护的成本、沟通的成本、硬件的成本都降下来了。客户笑了、公司老板也笑了、项目经理笑了、团队里面的人员也笑了、Apache社区看到这么多人在用也笑了。给笔者的感觉,现在的开源东西越来越向“敏捷开发”、“极限编程”的方向靠拢。通过Maven辅助管理项目,更能发现项目中哪些模块是重复的轮子。 3.Maven的环境搭建 下面我们来看看Maven的环境搭建。首先从Apache网站下载Maven。下载url是:。笔者 bin就不用说了,就是Maven的一些命令参数,boot里面是Maven自己的类加载器,咱们也不必理会。conf里面有个settings.xml就是本机Maven的总配置信息。lib是Maven 运行时需要的类库。将bin目录和JDK的bin目录一样设置为系统的PATH。这样在命令

使用maven打包替换掉页面的占位符

使用maven打包替换掉页面的占位符 1 项目遇到问题 项目在更新版本后,对用户来说会存在前端资源被浏览器缓存的问题,这时候要清理浏览器缓存,对用户来说就比较麻烦了。 2 解决方案 通过对资源文件添加版本号作为请求参数,在更新版本后统一更新版本号,用户访问的时候浏览器就会当成新的请求去拉取资源。 3 实现思路 Maven 打包的时候可以设置filtering 来过滤设置好的占位符(1)。 4 实现方案 因为maven 中的占位符默认是${} , 而我们已存在的代码中大量使用了$ 来取值,这样就会导致打包的时候会替换掉maven本身的值,比如${id},${version},${name}... , 这时候就想用其他的占位符来替换$ .通过查找API(2)发现可以使用, 这2个元素组合使用可以把默认的占位符给换掉, 代码如下: org.apache.maven.plugins maven-war-plugin 3.0.0 src/main/webapp true **/*.jsp #{*} false UTF-8 useDefaultDelimiters 的api 如下:

Maven的安装、配置及使用入门

第1章Maven的客户端安装和配置 1.1 在Windows上安装Maven 1.1.1 检查JDK安装 在安装Maven之前,首先要确认你已经正确安装了JDK。Maven可以运行在JDK 1.4及以上的版本上。本书的所有样例都基于JDK 5及以上版本。打开Windows 的命令行,运行如下的命令来检查你的Java安装: C:\Users\Jet>echo %JAVA_HOME% C:\Users\Jet>java -version 结果如图2-1所示: 图2-1 Windows中检查Java安装 上述命令首先检查环境变量JAVA_HOME是否指向了正确的JDK目录,接着尝试运行java命令。如果Windows无法执行java命令,或者无法找到JAVA_HOME 环境变量。你就需要检查Java是否安装了,或者环境变量是否设置正确。 1.1.2 下载Maven 请访问Maven的下载页面:https://www.sodocs.net/doc/5516531628.html,/download.html 1.1.3 本地安装 将安装文件解压到你指定的目录中,如: D:\apache-maven-3.0.3

这里的Maven安装目录是D:\apache-maven-3.0,接着需要设置环境变量,将Maven安装配置到操作系统环境中。 打开系统属性面板(桌面上右键单击“我的电脑”→“属性”),点击高 级系统设置,再点击环境变量,在系统变量中新建一个变量,变量名为M2_HOME,变量值为Maven的安装目录D:\apache-maven-3.0。点击确定,接着在系统变 量中找到一个名为Path的变量,在变量值的末尾加上%M2_HOME%\bin;,注意 多个值之间需要有分号隔开,然后点击确定。至此,环境变量设置完成,详细 情况如图2-2所示: 图2-2 Windows中系统环境变量配置 这里需要提一下的是Path环境变量,当我们在cmd中输入命令时,Windows 首先会在当前目录中寻找可执行文件或脚本,如果没有找到,Windows会接着遍历环境变量Path中定义的路径。由于我们将%M2_HOME%\bin添加到了Path中,而这里%M2_HOME%实际上是引用了我们前面定义的另一个变量,其值是Maven的安装目录。因此,Windows会在执行命令时搜索目录D:\apache-maven-3.0\bin,而mvn执行脚本的位置就是这里。

相关主题