终于开始复习旧知识了,有输入必然要有输出。输入和输出之间的内化过程尤为重要,在复习的同时,真正把学到的东西积淀下来,加深理解。

  • Maven项目概念与配置
  1. Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。项目构建过程:清理、编译、测试、打包、集成测试、验证、部署。
  2. java世界中主要有三大构建工具:Ant、Maven和Gradle。经过几年的发展,Ant几乎销声匿迹、Maven也日薄西山,而Gradle的发展则如日中天。开发Android应用的话,还是推荐使用Gradle做构建工具,因为Google官方推的Android Studio就使用了Gradle作为原生构建工具,这使得Gradle对Android各版本软件的构建支持得更好一些。Gradle最大的两个特点。其一是简洁,基于Groovy的紧凑脚本实在让人爱不释手,在表述意图方面也没有什么不清晰的地方。其二是灵活,各种在Maven中难以下手的事情,在Gradle就是小菜一碟,比如修改现有的构建生命周期,几行配置就完成了,同样的事情,在Maven中你必须编写一个插件,目前java程序员对XML熟悉,使用gradle需要学习groovy,理解其约定优于配置的概念。
  3. 所有的源代码放在文件夹/src/main/java/,所有的单元测试代码放入/src/test/java/,页面资源配置代码可以放在/src/main/resources/。自己建的话需要build path 把文件夹提上来。target是有存放项目构建后的文件和目录,jar包、war包以及编译的class文件等。target里的所有内容都是maven构建的时候生成的。
  4. POM:项目抽象模型

    这是maven非常核心的概念。Maven通过它来管理项目。每一个项目都有一个pom.xml文件,该文件定义了项目的基本信息,依赖关系等,maven对项目的生命周期管理也是基于此文件。

    groupId: 团体,公司,小组,组织,项目,或者其它团体。

    artifactId:在 groupId 下的表示一个单独项目的唯一标识符。项目名称ID 。

    packaging: 标识项目的类型,如jar,war等。

    version:版本号。以上4个是 Maven 的 坐 标,它们唯一标识了一个项目,相关依赖(dependency)的配置尤为重要。

  5. Repository

    仓库,二方库,三方库的概念。每当安装完成maven之后就会有一个默认的本地仓库和远程仓库。当进行编译的时候,maven会先查找本地Repository,如果本地Repository没有,会去取远程repository。很多公司都用Nexus搭建了私服库,便于全公司使用和下载。

  6. Maven常用命令: 
    1. 创建Maven的普通java项目: 
       mvn archetype:create 
       -DgroupId=packageName 
       -DartifactId=projectName  
    2. 创建Maven的Web项目:   
        mvn archetype:create 
        -DgroupId=packageName    
        -DartifactId=webappName 
        -DarchetypeArtifactId=maven-archetype-webapp    
    3. 编译源代码: mvn compile 
    4. 编译测试代码:mvn test-compile    
    5. 运行测试:mvn test   
    6. 产生site:mvn site   
    7. 打包:mvn package   
    8. 在本地Repository中安装jar:mvn install 
    9. 清除产生的项目:mvn clean   
    10. 生成eclipse项目:mvn eclipse:eclipse  
    11. 生成idea项目:mvn idea:idea  
    12. 组合使用goal命令,如只打包不测试:mvn -Dtest package   
    13. 编译测试的内容:mvn test-compile  
    14. 只打jar包: mvn jar:jar  
    15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile 
          ( -skipping 的灵活运用,当然也可以用于其他组合命令)  
    16. 清除eclipse的一些系统设置:mvn eclipse:clean
  7. 附目录结构:

复习(1)【Maven】的更多相关文章

  1. SpringBoot Junit Maven JaCoCo

    写一下最近写单体测试的一些笔记. SrpingBoot的测试用例: @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = ...

  2. 复习宝典之Maven项目管理

    查看更多宝典,请点击<金三银四,你的专属面试宝典> 第二章:Maven项目管理 Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配 ...

  3. eclipse中 使用maven搭建ssh项目 思路复习(含有pom.xml)

    首先在web.xml中配置监听器 在服务器启动的时候 进行bean对象的创建(只会创建单例对象 dao service   多例对象action可不会创建  每个多例对象是不同的 创建了有什么意义呢 ...

  4. Maven搭建SpringMVC+Hibernate项目详解 【转】

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

  5. 渣渣小本求职复习之路每天一博客系列——TCP/IP协议栈(5)

    前情回顾:一篇短短的博客明显不能满足TCP和UDP这两个饥渴的汉子,而且还被应用协议占了一小半的篇幅.在昨天结束之后,相信大家都基本对TCP/IP协议栈的轮廓有一个大概的印象了,能够对整体有所把握. ...

  6. Maven项目环境搭建实例.

    前言:最近下班比较早, 总是不愿意让自己闲着, 此时刚好从网上找到了一些项目的资源, 结合自己在公司做的项目, 所以拿来一起学习加复习一些平常用到和没接触过的新知识.做的这个项目的名称叫做babasp ...

  7. Maven搭建SpringMVC+Mybatis项目详解

    前言 最近比较闲,复习搭建一下项目,这次主要使用spring+SpringMVC+Mybatis.项目持久层使用Mybatis3,控制层使用SpringMVC4.1,使用Spring4.1管理控制器, ...

  8. Gradle实战:发布aar包到maven仓库

    查看原文:http://blog.csdn.net/u010818425/article/details/52441711 Gradle实战系列文章: <Gradle基本知识点与常用配置> ...

  9. Maven搭建SpringMVC+Hibernate项目详解

    前言 今天复习一下SpringMVC+Hibernate的搭建,本来想着将Spring-Security权限控制框架也映入其中的,但是发现内容太多了,Spring-Security的就留在下一篇吧,这 ...

随机推荐

  1. [LeetCode] Same Tree 判断相同树

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  2. .NET跨平台之旅:升级ASP.NET Core示例站点

    ASP.NET Core示例站点网址:http://about.cnblogs.com/ 首先安装最新版的 .NET Core 运行环境,从 https://github.com/dotnet/cli ...

  3. 51Nod 1278 相离的圆

    51Nod 1278 相离的圆 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1278 1278 相离的圆 基 ...

  4. Service实时向Activity传递数据案例

    转自 http://www.cnblogs.com/linjiqin/p/3147764.html 演示一个案例,需求如下:在Service组件中创建一个线程,该线程用来生产数值,每隔1秒数值自动加1 ...

  5. HV000030: No validator could be found for type: java.lang.Integer.

    在写接口时,一般去查找在类的Integer属性上加了不属于整型的校验,比如@NotEmpty,@Length等 @JSONField(name = "deviceNum") @No ...

  6. Ajax请求示例

    模板 {% for row in host_list %} <tr> <td class="c1">{{ row.id }}</td> < ...

  7. ABP 索引

    官方网站 Github ABP集合贴 @ kebinet https://www.codeproject.com/articles/1115763/using-asp-net-core-entity- ...

  8. 报错:MySQL check the manual that corresponds to your MySQL server version for the right syntax

    今天在向MySQL中插入数据时,报了标题的错误,因为我用的是session.save(object)方法,后台打印出的object和sql语句都没有问题,后来在网上查询,发现http://blog.c ...

  9. smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')解决办法

    raise SMTPAuthenticationError(code, resp) smtplib.SMTPAuthenticationError: (535, b'Error: authentica ...

  10. Linux编译工具:gcc入门

    1. 什么是gcc gcc的全称是GNU Compiler Collection,它是一个能够编译多种语言的编译器.最开始gcc是作为C语言的编译器(GNU C Compiler),现在除了c语言,还 ...