`
fackyou200
  • 浏览: 308542 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

Nexus1.5.0安装与配置(Mave本地仓库配置)

    博客分类:
  • mave
 
阅读更多

Nexus1.5.0安装与配置

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

 


2、你可以从http://nexus.sonatype.org/downloads/ 下载最新版本的Nexus,为 1.5.0版本。Nexus提供了两种安装方式,一种是内嵌Jetty的bundle,只要你有JRE就能直接运行。第二种方式是WAR,你只须简单的将其发布到web容器中即可使用。

 

Bundle方式安装

解压nexus-webapp-1.5.0-bundle.zip 至任意目录,如D:\dev_tools ,然后打开CMD,cd至目录D:\dev_tools\nexus-webapp-1.5.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,你会得到和上图一样的界面。

 

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

 

 

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

和操作。

 

代理Maven中央仓库

 

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

种类型:
 hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。
 proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
 group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。

 

管理本地Maven仓库

 

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

 

搜索构件

 

在浩大的Maven仓库中一下下点击链接,浏览路径以寻找感兴趣的构件是一件很郁闷的事情。Nexus基于nexus-indexer提供构件搜索功能,要想对仓库进行搜索,无论是hosted,proxy,或者group,你都

必须确认索引文件存在。这一点对于代理仓库尤其重要,有些远程仓库可能根本就没有索引,所以你无法搜索这些代理仓库。有些远程仓库的远程索引非常大,如中央仓库达到了70M左右,那么第一次下

载索引需要花很多时间,所以要期望得到搜索结果

 

配置Maven使用Nexus

 

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

置Maven来使用本地的Nexus,以节省时间和带宽资源。
我们可以将Repository配置到POM中,但一般来说这不是很好的做法,原因很简单,你需要为所有的Maven项目重复该配置。因此,这里我将Repository的配置放到$user_home/.m2/settings.xml



 

由于我们不能直接在settings.xml中插入<repositories>元素,这里我们编写了一个profile,并添加了一个profile并使用<activeProfile>元素自动将这个profile激活。这里的local-nexus仓库指向了

刚才我们配置的Nexus中“Public Repositories”仓库组,也就是说,所有该仓库组包含的仓库都能供我们使用。此外,我们通过<releases>和<snapshots>元素激活了Maven对于仓库所有类型构件下载

的支持,当然你也可以调节该配置,比如说禁止Maven从Nexus下载snapshot构件。

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

 

部署构件至Nexus

 

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



 

settings.xml



 

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

用户名和密码。

 

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


五、Maven2简介

1、Maven2 把配置文件压缩成了pom.xmlsettings.xml 两个文件,简洁了不少。POM是Maven的核心对象模型。

2、新增Dependency Scope
 在POM 中,<dependency>中还引入了<scope>,它主要管理依赖的部署。目前<scope>可以使用5个值:
 compile,缺省值,适用于所有阶段,会随着项目一起发布。
 provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
 runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
 test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
 system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。

3、下面说些基本设置,打开D:\maven-2.0.4\conf\settings.xml
 1. 改变<localRepository>E:/M2/repository </localRepository> 目的:改变本地的数据仓库目录(存放从远程下载的jar包),如果不改变也可以,如不改变,缺省目录为:C:\Documents and

Settings\主机名\.m2\repository。

 

 创建Maven的普通java项目:
     mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=pjoName    
 创建Maven的Web项目:
     mvn archetype:create -DgroupId=com.mycompany.app-DartifactId=my-webapp
 -DarchetypeArtifactId=maven-archetype-webapp    
 编译源代码:mvn compile (或者:mvn compiler:compile)   
 编译测试代码:mvn test-compile    
 运行测试:mvn test    
 产生site:mvn site    
 打包:mvn package    
 在本地Repository中安装jar:mvn install    
 清除产生的项目:mvn clean    
 生成eclipse项目:mvn eclipse:eclipse   
 生成idea项目:mvn idea:idea   
 组合使用goal命令,如只打包不测试:mvn -Dtest package    
 编译测试的内容:mvn test-compile   
 只打jar包: mvn jar:jar   
 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile (这里要特别注意 -skipping 的灵活运用,当然也可以用于其他组合命令)   
 清除eclipse的一些系统设置:mvn eclipse:clean  


4、遇到的小问题解决。
* 当建立一个工程后,执行 mvn eclipse:eclipse ,建立一个maven的工程,用eclipse打开后,发现报如下错误:Unbound classpath variable: 'M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar' in

project my-webapp   ,这是因为在Eclipse 没有配置 M2_REPO 变量,配置步骤:window >> preferences >> Java >> Build Path >> Classpath Variables
新建一个 M2_REPO 的变量,变量值指向你系统的Maven2的数据仓库位置。

* 如何安装Jar(或war)依赖到本地的数据仓库中?
下面具一个如何把dwr.jar包上传到本地数据仓库的例子,一看例子,大家就明了了。
下载dwr.jar包到本地,我把它放到了 C:/ (C盘根目录)
进入“命令行提示符”,进入到C:/,然后执行 mvn install:install-file -Dfile=dwr.jar -DgroupId=dwr.mocha -DartifactId=dwrDart -Dversion=1.0 -Dpackaging=jar 这样就把dwr传到了本地仓

库中(我的本地仓库地址为:E:\app\m2\repository\),上传到仓库中的jar包名为dwrDart-1.0.jar,目录结构为dwr/mocha/dwrDart/1.0/dwrDart-1.0.jar

 

Eclipse插件m2eclipse,更新地址为:http://m2eclipse.sonatype.org/sites/m2e

分享到:
评论

相关推荐

    官网下载的professional版:nexus-professional-2.15.1-02-bundle

    本地仓库就是我们在maven的setting.xml中配置的本地仓库地址。由于最原始的本地仓库是空的,Maven必须知道至少一个可用的远程仓库,才能在执行Maven命令的时候下载到需要的构件。 中央仓库是maven默认的远程仓库。 ...

    nexus-webapp-1.5.0-bundle

    标题 "nexus-webapp-1.5.0-bundle" 提供了我们正在讨论的是 Nexus 仓库管理器的一个特定版本,即 1.5.0 版本的 ...通过使用 "nexus-webapp-1.5.0-bundle",你可以轻松地在本地或服务器上部署和运行 Nexus 仓库管理器。

    UCenter 1.5.0 安装图文教程

    UCenter 1.5.0 安装图文教程.doc

    JDK和maven的环境变量配置

    同时,需要注意JDK、Maven和Tomcat的安装目录不能包含空格,否则可能导致配置不成功。 配置完成后,可以通过命令行输入java –version命令来测试JDK配置是否成功,输入mvn –version命令来测试Maven配置是否成功,...

    JDK 1.5.0_12安装与配置

    ### JDK 1.5.0_12安装与配置详解 #### 一、JDK 1.5.0_12概述及安装前准备 JDK(Java Development Kit)是Sun Microsystems公司为Java开发人员提供的软件开发工具包,是开发Java应用程序的基础。JDK 1.5.0_12,即...

    安装jdk1.5.0系统详细配置方法.zip

    本教程将详细讲解如何在操作系统上安装JDK 1.5.0并进行系统配置,以确保开发者能够顺利进行Java编程。 首先,我们需要下载JDK 1.5.0的安装包。在Java的官方网站上,你可以找到历史版本的下载链接。下载完成后,通常...

    JDK和Maven安装配置总结.docx

    #### 二、Maven 安装与配置 ##### 1. Maven 安装步骤 Maven 是一个基于项目对象模型(POM)的软件项目管理和综合工具。它的安装步骤相对简单: - 从官方网站下载 Maven 的压缩包。 - 解压到指定目录。 ##### 2. ...

    maven集成开发环境搭建

    在`~/.m2`目录下新建`settings.xml`文件,配置Nexus作为Maven的本地仓库。例如: ```xml &lt;settings xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:...

    rdpwrap1.5.0(带可用rdpwrap.ini配置文件)

    当您安装RDPWrap后,需要将此配置文件与您的操作系统匹配,以便正确地启用无限制的RDP连接。 在使用RDPWrap 1.5.0之前,你需要确保你的系统兼容此版本,并且理解这可能带来的安全风险。因为绕过原生限制可能使系统...

    maven安装.txt

    ### Maven 安装与配置详解 #### Maven简介 Apache Maven 是一个项目管理和理解工具,它为构建、文档和项目管理提供了一套完整的项目生命周期模型。通过本文档,我们将详细介绍如何安装Maven,并对其进行基本配置。...

    java JDK 1.5.0的安装和设置

    Java JDK 1.5.0 安装和设置指南 Java 是一种流行的编程语言,它广泛应用于 Android 应用程序、Web 应用程序和桌面应用程序等领域。为了使用 Java开发应用程序,需要安装 Java 开发工具包(JDK),本文将指导您安装...

    PHPManagerForIIS_V1.5.0.msi.zip

    安装文件“PHPManagerForIIS_V1.5.0.msi”包含了所有必要的组件,只需按照标准的MSI安装程序步骤进行,即可轻松在IIS服务器上部署这款工具。 总之,“PHPManager for IIS”是Windows服务器上管理和维护PHP环境的...

    apache-maven下载安装

    `default`阶段包括`validate`、`compile`、`test`、`package`、`verify`、`install`,它们依次执行,完成代码的验证、编译、测试、打包、验证、安装到本地仓库等任务。 Maven还支持插件系统,这使得它可以执行更多...

    Maven插件安装使用说明

    ### Maven插件安装与使用详解 #### 一、Maven插件概述 Maven是一款流行的构建工具,它能够帮助开发者自动化构建过程中的许多任务,包括编译、测试、打包、部署等。Maven插件是Maven的核心组成部分之一,通过这些...

    chaosblade-1.5.0

    "ChaosBlade 1.5.0"是一款先进的混沌工程工具,专用于进行系统稳定性与容错性测试。在2022年发布的新版本中,它为开发者和运维人员提供了一种高效且易用的方式,以评估和增强应用程序在面临各种异常情况时的韧性。...

    maven-googlewebtoolkit-plugin-1.5.0.jar

    maven-googlewebtoolkit-plugin-1.5.0.jar

    m2eclipse 1.5.0

    m2eclipse 1.5.0 (Maven for Eclipse) m2eclipse 1.5.0 发布,Eclipse 的 Maven 插件 2014年06月06日,m2eclipse 1.5.0 发布,该软件也叫 m2e ,兼容 Eclipse Kepler 和 Luna 参考消息:...

Global site tag (gtag.js) - Google Analytics