`
zhaohaolin
  • 浏览: 1003740 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

持续集成之路——Maven(续)

阅读更多

接上篇)在新创建了项目之后,可以看到目录结构:

 

      从图中可以看出,Maven自动将项目源文件和测试用例分别放到了不同的目录下,但是却使用了相同的包名。这样生成可执行的产品时,就比较容易将产品代码 和测试代码隔离开;同时测试用例也可以直接引用同一包中被测试的类,既符合了JUnit的规范,也使程序更易读。

      正如上图中标示,新建项目的JRE默认为J2SE-1.4,这会导致1.5之后的一些新特性得不到支持。可以通过下面的方法修改:

      2、使用Maven管理依赖

      在以往的开发中,我一般都会把用到的依赖都放到一个文件夹下,需要什么就像里面添加什么,然后和源文件一同放入到SVN中。其他开发人员在检出项目时会把这些包一起检出。但是这样做有几个弊端:

    (1)最明显的一个问题,就是代码库会变得异常地大,有时候会上百兆,检出的时间会比较长

    (2)为了保持每个开发人员的开发环境的设置都是独立的,我们会要求开发人员不能提交Eclipse项目配置文件, 如.project、.settings等。这就需要每个开发人员必须自己配置自己Eclipse的构建路径(Build Path)。如果有新的依赖提交,而其他开发人员不知晓的情况,就可能编译会出错;

    (3)Java的库文件对版本的要求比较严格,而有些第三方包发布并没有说明其所依赖的版本,需要自己苦苦寻找;

    (4)虽然我们并不常会看第三方库的源代码,但是有时候也需要进去了解一下,帮助解决问题。这时就需要自己在Eclipse中指定源文件的位置。

    而Maven很好的解决了以上问题,只需要一个配置文件,就可以搞定所有了。比如要在上面的MavenDemo项目中引入JUnit:

   

         点击OK后,就会将依赖自动下载到本地,并添加到项目的构建路径中,

           查看pom.xml的内容,就会发现依赖在文件中的配置:

  1. < dependencies >   
  2.     < dependency >   
  3.         < groupId > junit </ groupId >   
  4.         < artifactId > junit </ artifactId >   
  5.         < version > 4.4 </ version >   
  6.         < type > jar </ type >   
  7.         < scope > compile </ scope >   
  8.     </ dependency >   
  9. </ dependencies >   

      如果以后需要更改版本,只需要修改这里的版本号即可,当然可以从依赖的页面中删除和添加。

      在上面提到了Maven可以自动管理依赖的依赖,为了显示这个强大的功能,特意引入了一个spring-core的包,然后切换到pom的 Dependencies Graph页面,可以看到,虽然只引入了一个spring-core,但是Maven却自动发现了它依赖的另外两个包,省去我们的很多麻烦。

 

        3. 运行测试用例

        在/src/test/java编写一个测试用例,然后直接在项目名称上点击右键,从菜单中选择Run as-->maven test。在运行过程中,Maven会自动下载需要的包,并且给出一份详细的测试报告。

 

      这种方式可以运行项目中所有用例。当然可以依照原来的习惯,在项目目录中选择一个文件,按照JUnit的方式运行。

分享到:
评论
2 楼 zhaohaolin 2011-07-07  
是的,我这里大部分都是转载的文章。希望对你有帮助
1 楼 justjavac 2011-06-15  
这篇文章是从csdn拷贝过来的吧。
图片都没有显示

相关推荐

    持续集成环境搭建——maven、git、jenkins、tomcat

    接着,我们来安装构建工具——maven。Apache Maven是一个项目管理和综合工具,它可以帮助开发者管理项目构建、报告、依赖关系等。以下是maven的安装步骤: 1. 访问Apache官网...

    Maven资料打包大集合

    Maven3培训教程.pdf Maven实战.pdf MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf

    maven资料大全

    Maven3培训教程.pptx MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven实战.pdf Maven实战——入门篇.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf

    maven2.2.1分享下

    3. **持续集成**:Maven 集成了与 Jenkins、Hudson 等持续集成工具的兼容性,便于自动化构建和测试。 4. **质量控制**:通过结合 SonarQube 等工具,Maven 可以进行代码质量检查和静态分析。 总之,Maven 2.2.1 是...

    持续集成篇--Hudson持续集成服务器的安装配置和使用.pdf

    《持续集成篇——Hudson持续集成服务器的安装配置与使用》 在当今的软件开发环境中,持续集成(Continuous Integration,简称CI)已经成为敏捷开发的重要组成部分。它通过频繁地将开发人员的代码更改集成到主分支,...

    4.微服务架构治理:TARS的持续集成 —— 俞慧涛.pdf

    【TARS持续集成详解】 TARS是一个由腾讯开源的高性能RPC开发框架,源自腾讯内部的微服务架构TAF(Total Application Framework)。它旨在帮助企业快速构建分布式应用,通过统一的通信协议和自身协议语言解决了跨...

    Maven《实战》许晓斌完整版包含源码

    11. **持续集成与Maven**: Maven在持续集成服务器如Jenkins、Hudson中的角色,以及如何配置持续集成流程。 12. **Maven与构建自动化**: 如何将Maven与其他工具(如Ant、Gradle)结合,实现更复杂的构建自动化。 13...

    Jenkins 以及相应 maven 与 git 插件.rar

    综上所述,这个压缩包提供了 Jenkins 的核心安装文件和两个重要的插件——Maven 和 Git 插件,使得开发者能够构建一个集成了版本控制和构建自动化的工作流。通过这些工具的结合使用,团队可以高效地进行持续集成和...

    maven3.2.3

    7. **持续集成友好**:Maven 3.2.3与各种持续集成服务器(如Jenkins、Hudson)兼容性更好,支持更多CI工具的特性,简化了CI环境的配置。 8. **配置文件格式**:在这一版本中,Maven继续支持XML配置,同时也引入了...

    Maven的HelloWorld程序

    **Maven的HelloWorld程序** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了...在实际开发中,Maven还能帮助我们管理各种依赖,自动化构建过程,并与持续集成系统无缝集成,从而提高开发效率和质量。

    Maven:The Complete Reference

    - **易于集成**:Maven与各种工具和服务(如持续集成服务器、代码托管平台)的集成非常方便。 - **文档自动生成**:Maven可以根据项目的POM文件自动生成文档,包括项目报告、站点文档等。 - **社区支持**:拥有庞大...

    Maven权威指南中文版.pdf

    此外,还讲解了如何利用Maven进行持续集成,与版本控制系统(如Git)和构建服务器(如Jenkins)集成,实现自动化构建和测试。 对于初次接触Maven的读者,本书将引导他们快速上手,通过实例学习如何创建和管理Maven...

    Maven实战 (Maven In Action)

    - **测试与持续集成**:结合Hudson等CI工具实现自动化的测试和构建流程。 - **Web项目与自动化部署**:利用Maven插件自动化部署Web应用程序。 - **版本管理**:Maven支持自动化的版本管理机制,简化版本控制过程。 -...

    maven3.6.3.rar

    通过合理配置settings.xml,可以实现对不同环境的适配,如本地开发、持续集成服务器等。 至于“maven3.6.3”这个压缩包,它包含了Maven的完整二进制发行版。解压后,我们可以找到bin目录下的可执行文件,如mvn,...

    apache-maven

    Maven 可以很好地与版本控制系统(如Git)集成,同时与持续集成服务器(如Jenkins、Travis CI)配合,实现自动化构建和测试。 10. **Maven archetype** Maven archetype 是用于创建新项目模板的工具。通过...

    maven安装包,下载后可用

    - **版本管理**:Maven支持SNAPSHOT版本,便于持续集成和开发过程中版本的控制。 - **Maven Archetypes**:预定义的项目模板,用于快速生成符合特定框架或规范的新项目结构。 - ** profiles**:可以根据不同的环境...

    SpringMVC+MyBatis+Maven 完整项目

    此外,Maven还可以生成项目报告、辅助持续集成,并有强大的插件机制来扩展功能。 在项目中,`SQL.sql`文件通常包含了数据库表的创建脚本,用于初始化数据库结构。你可以根据自己的需求修改数据库连接配置,通常位于...

    持续集成交付实践.docx

    为了应对这些挑战,许多组织开始寻求一种更为高效且可靠的解决方案——持续集成和持续交付(CI/CD)。通过引入自动化构建和部署流水线,可以极大地提高软件交付的速度和质量,并确保在整个软件生命周期中维持高水平...

Global site tag (gtag.js) - Google Analytics