`
iamct
  • 浏览: 6234 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

maven 过程

阅读更多

转发自http://www.blogjava.net/aoxj/archive/2008/09/06/227453.html

也可以参考

http://www.iteye.com/wiki/hzbook/2872-Maven-in-action



周末 自己尝试了 装了下maven   然后想总结下
别人总结过了  拿过了 做个记录
转:
之前看到过一些Nexus的介绍,由于刚开始接触maven时使用的私服是artifactory,因此没有太在意。今天想着既然Nexus能有胆量出来混,应该有点真本事才是,看了一下nexus的安装介绍,挺简单的,试试无妨。因此装上小试了一下,结果喜出望外,nexus的表现非常不错,尤其是在开启远程索引之后,简直太方便了。

    于是决定放弃artifactory改而使用nexus作为自己的maven私服。恩,惭愧,颇有点喜新厌旧的味道,artifactory才装上来没有几天,就惨遭抛弃......

    整理了一下,全过程记录如下:

1. 首先下载Nexus
    从官网http://nexus.sonatype.org/downloads/下载下载最新版本,因为是在windows上安装,因此下载的是zip版本,大小大概是16m。
  
2. 安装
    简单解压缩下载的zip包到安装目录就可以了。
    可执行文件在%nexus安装目录%\nexus-webapp-1.0.0\binjsw\windows-x86-32下:
        InstallNexus.bat/UninstallNexus.bat是安装/卸载nexus为windows service,如果需要设置nexus为开机自动启动就可以安装为windows service然后设置启动方式为自动。
        Nexus.bat是直接在命令行中启动Nexus,如果不想安装Nexus为windows service,可以用这个文件来手工控制Nexus的启动退出。
      
      
3. 配置nexus

    首先登录,默认地址http://localhost:8081/nexus/,默认用户名密码为admin/admin123.
  
    最重要的一件事情就是开启远程索引下载,索引这个功能实在是太好用了。
  
    nexus默认是关闭远程索引下载功能的,主要是担心会造成对服务器的巨大负担,需要我们手工开启。
  
    开启的方式:
        点击Administration菜单下面的Repositories,将这三个仓库Apache Snapshots,Codehaus Snapshots,Maven Central的Download Remote Indexes修改为true。然后在这三个仓库上分别右键,选择Re-index,这样Nexus就会去下载远程的索引文件。
      
4. 配置maven
    要让maven使用nexus作为私服,需要做一些设置,使用和原来设置artifactory相似的方法。修改~/.m2/settings.xml.
  
    增加nexus的profile:

    <profile>
      <id>nexus</id>
      <repositories>
        <repository>
            <id>nexus</id>
            <name>local private nexus</name>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>
        <repository>
            <id>nexus</id>
            <name>local private nexus</name>
            <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
            <releases><enabled>false</enabled></releases>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
            <id>nexus</id>
            <name>local private nexus</name>
            <url>http://localhost:8081/nexus/content/groups/public</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>false</enabled></snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>nexus</id>
            <name>local private nexus</name>
            <url>http://localhost:8081/nexus/content/groups/public-snapshots</url>
            <releases><enabled>false</enabled></releases>
            <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
       </pluginRepositories>
    </profile>

    修改activeProfiles为:
      <activeProfiles>
        <activeProfile>nexus</activeProfile>
      </activeProfiles>
    
5. 为nexus增加Artifact
    有些特殊的Artifact无法从maven官网仓库中下载,比如sun的一些包,只好自己自行下载后添加到私服中。
    在nexus中我选择将这些Artifact上传到默认安装就存在的仓库3rd Party中,右击仓库名,选择Upload Artifact。
  
6. 在eclipse中使用索引功能
    原来试过,使用artifactory私服也可以使用Artifact的索引功能,但是由于不知道怎么设置远程仓库的index,我只会设置
    当前artifactory私服已有的Artifact的索引,对于还没有导入到artifactory私服的Artifact就没有办法索引了,很不方便,
    毕竟刚开始使用maven时,所有用到的Artifact都是本地和私服没有而需要到远程仓库取的。
  
    nexus中可以很方便的得到远程仓库的Artifact的索引,在上面“3. 配置nexus”就介绍过。下面介绍如何在eclispe里面
    设置和使用索引功能:
    1) 打开Maven Indexes 的eclispe view
        在eclispe中选择window -> show view -> other ... -> Maven -> Maven Indexes
    2) 添加nexus的index
        右键菜单中选"add index", 在弹出的"Add Respository index"窗口中填入:
            Repository URL: http://localhost:8081/nexus/content/groups/public
            Repository Id: nexus
            Index Update URL: 放空,暂时还不知道该怎么填
        加入后eclispe会自动load一次index信息,然后就可以在新加入的index下可以拉出极大数量的Artifact信息。
    3) 测试一下使用
        找个pom.xml文件,右键 -> Add Dependency, 然后填入一个关键词,比如我填入mina,马上填出和mina相关的一些
        选择,我找到apache mina,双击最新一个版本。会自动在pom.xml文件中增加以下内容:

        <dependency>
            <groupId>org.apache.directory.mina</groupId>
            <artifactId>mina-core</artifactId>
            <version>0.9.5</version>
        </dependency>

        然后Maven自动下载jar包,再将jar包加入项目的build path,全程自动化处理,真是爽啊。

7. 为nexus增加新的proxy  repository
        方法很简单,administration -> Repositories -> add -> proxy,填写后保存即可。但是要注意,nexus不会自动将新加入的repository添加到group中,而我们一般喜欢直接使用默认的"public repository" group, 比如前面我在maven的profile中就只设置了这一个URL: http://localhost:8081/nexus/content/groups/public。因此需要手工修改"public repository" group的设置,将刚才添加的proxy  repository加到组中。
        推荐的repository有:
                1) jboss         http://repository.jboss.com/maven2/
                2) sun            http://download.java.net/maven/2/
                3)k-int           http://developer.k-int.com/maven2/
                        加入这个纯粹是因为它有sun的jmxri/jmxtools这些Artifact,强烈鄙视sun,自己的官方repository居然没有。
                4)sonatype        http://repository.sonatype.org/content/groups/public/
8. 总结
    很明显,nexus无论是在界面,功能,操作上,都比artifactory强大的多。
    因此推荐大家使用nexus替代artifactory作为maven私服。
  
updates:
1.  2008.11.28
由于公司升级操作系统,告别老旧不堪的windows2000升级到vista,因此重新安装了nexus. 新版本的nexus似乎增加了不少小的功能比如对remote index的支持,具体没有深究,不过能不断更新实在是很令人欣慰。以后就打算用nexus了。

2. 2009.10.15
    一年来陆续发现了一些比较不错的maven仓库
    1) fedora.is   
        http://fedora.is/maven/
    2) ibiblio
        http://mirrors.ibiblio.org/pub/mirrors/maven2/
        这个是ivy的官网,东西比较多
    3) rothamsted
        http://ondex.rothamsted.bbsrc.ac.uk/nexus/content/repositories/releases/
        http://ondex.rothamsted.bbsrc.ac.uk/nexus/content/repositories/wso2/
        有一些比较偏门的东西

 

分享到:
评论

相关推荐

    MAVEN+JENKINS使用教程

    在使用MAVEN过程中,可能会遇到一些常见的问题,例如依赖项冲突、构建失败等。可以通过检查MAVEN的日志文件来定位问题,并使用MAVEN的debug模式来调试项目。 本文档提供了一个系统的MAVEN+JENKINS使用教程,涵盖了...

    maven安装教程

    在使用Maven过程中,可以利用Maven内建的依赖管理功能,快速地添加或更新项目所需的jar包。在Eclipse中,可以通过Maven视图搜索和添加jar组件的坐标。如果使用在线搜索添加jar组件坐标,需要访问Maven仓库或使用第三...

    eclipse中配置maven

    Maven 是一个基于项目对象模型(POM)的项目管理工具,可以帮助开发者更好地管理项目依赖关系和构建过程。本文将指导初学者如何在 Eclipse 中配置 Maven。 一、 下载 Maven 首先,需要下载 Maven 的安装包,下载...

    Maven常见问题解答

    通过这些解决方案,开发者应该能够解决在使用Maven过程中遇到的大部分问题。不过,需要注意的是,Maven的配置可能会因环境和项目的不同而有所差异,因此在实际操作时需要根据具体情况调整。同时,保持Maven及其相关...

    Maven安装文档

    在使用Maven过程中可能会遇到各种问题,比如依赖包未找到等。此时,可以尝试以下方法: - 右键项目或服务器,选择“Clean”,清理项目缓存,重新构建。 - 检查项目的`pom.xml`文件,确保所有依赖都已正确声明。 - ...

    maven搭建、集成,创建聚合项目问题及错误解决

    在使用Maven过程中,可能会遇到各种问题,如依赖冲突、找不到依赖、插件执行失败等。解决这些问题的关键在于理解Maven的生命周期、构建阶段和插件机制。通过检查pom.xml文件、日志信息以及网络连接状况,通常能找出...

    Maven实战.pdf

    《Maven实战》一书是针对Java开发人员深入学习和应用Maven构建工具的重要参考资料。Maven是一个项目管理和...书中可能还会涉及最佳实践、问题排查、高级配置等内容,帮助开发者解决在使用Maven过程中遇到的各种问题。

    Maven

    博文链接:https://lixue150.iteye.com/blog/1879174 这篇博客可能详细介绍了作者在使用Maven过程中的一些经验和技巧,包括常见问题的解决办法,或者对Maven特性的深入解析。 【标签】 源码 | 工具 “源码”标签...

    Maven1.1使用手册

    - **单元测试**:讨论了如何集成单元测试到 Maven 的构建过程中。 - **创建站点**:指导如何生成和部署项目的文档站点。 - **源代码控制**:介绍了 Maven 如何与版本控制系统(如 SVN 或 CVS)集成。 - **发布...

    maven使用自己资料

    该博文作者“liuzongan”分享了他在使用Maven过程中的经验和心得,旨在帮助开发者更好地理解和掌握这一工具。通过阅读这篇博客,你可以了解到Maven的基本概念,如POM(Project Object Model)配置文件,以及如何管理...

    Windows 10上安装Maven教程

    - **社区支持**:如果您在安装或使用Maven过程中遇到困难,可以考虑加入Maven的用户社区寻求帮助。 #### 五、总结 本教程提供了在Windows 10操作系统上安装Maven的基本步骤。通过遵循上述指南,您可以轻松地在自己...

    maven打包 maven打jar包详细步骤

    在Java开发中,Maven是一个强大的构建工具,它简化了项目的构建、依赖管理和部署过程。本文将详细讲解如何使用Maven来打包一个Java项目,并创建JAR文件。 首先,Maven有三个主要生命周期阶段:`clean`、`default`...

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    ** Maven 概述** Maven 是一个强大的项目...通过理解并熟练使用Maven,开发者可以更专注于编写代码,而无需关心构建过程的复杂性。在实际工作中,正确配置和利用Maven可以大大提高团队的开发效率和项目的可维护性。

    idea创建基于maven的web工程共6页.pdf.zi

    12. 处理问题和调试:分享在使用Idea和Maven过程中可能遇到的问题及解决方案,如解决依赖冲突、处理编译错误等。 13. 实战演练:提供一个实际的案例,一步步演示创建、配置、运行和部署一个完整的基于Maven的Web...

    maven下载、安装、配置与使用教程概要说明与总结.docx

    - **官方文档与社区支持**:在使用 Maven 过程中遇到任何问题时,建议查阅 Maven 的官方文档或者寻求社区的帮助和支持。 通过以上步骤,你现在已经掌握了 Maven 的基本使用方法,可以开始在 Java 项目中运用 Maven ...

    maven多模块项目构建过程

    在软件开发过程中,Maven作为Java领域广泛应用的构建工具,极大地简化了项目的构建、管理和部署。本篇文章将详细探讨"Maven多模块项目构建过程",并结合提供的资源"搭建maven多工程模块步骤",来深入理解如何创建和...

    apache-maven-3.6.0_apache-maven-3.6.0_maven压缩包_maven3.6.0下载_

    安装Maven 3.6.0的过程相对简单。首先,你需要下载`apache-maven-3.6.0`压缩包。这个压缩包包含了Maven运行所需的所有文件,包括bin目录下的可执行脚本,lib目录中的依赖库,以及conf目录下的配置文件如settings.xml...

Global site tag (gtag.js) - Google Analytics