http://www.cnblogs.com/xdp-gacl/p/3498271.html

http://www.cnblogs.com/xdp-gacl/p/4240930.html

一、Maven使用入门

背景知识:Maven是一款服务于Java平台的自动化构建工具。Make --> Ant -->Maven --> Gradle

一个BS项目最终运行的并不是动态Web工程本身,而是这个动态Web工程“编译的结果”。

1.1编写POM

Maven项目的核心是pom.xml:定义了项目的基本信息,用于描述项目如何构建,声明项目依赖。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  5. http://maven.apache.org/xsd/maven-4.0.0.xsd">
  6. <!--所有的Maven项目都必须配置这四个配置项-->
  7. <modelVersion>4.0.0</modelVersion>
  8. <!--groupId指的是项目名的项目组,默认就是包名-->
  9. <groupId>com.juvenxu.mvnbook</groupId>
  10. <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
  11. <artifactId>hello-world</artifactId>
  12. <!--version指的是版本,这里使用的是Maven的快照版本-->
  13. <version>1.0-SNAPSHOT</version>
  14.  
  15. <!--非必须的方便信息交流-->
  16. <version>1.0-SNAPSHOT</version>
  17.  
  18. </project>

modelVersion:指定当前POM模型的版本,对于Maven 2 及Maven 3来说,它只能是4.0.0

groupId,artifactId,version:定义了一个项目基本的坐标。

groupId:定义了项目属于哪个组。

artifactId:定义了当前Maven项目在组中唯一的ID。

version:定义当前项目的版本。

1.2 编写主代码:

项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(如jar),而测试代码只会在运行测试时用到,不会被打包。默认情况,Maven假设项目主代码位于src/main/java目录。(Maven会自动搜索该目录找到项目主代码)。该Java类的包名是com.juvenxu.mvnbook.helloworld,这与之前在POM中定义的groupId和artifactid相吻合。一般来说,项目中Java类的包都应该基于项目的groupId和artifactId。

1.3 编写测试代码:

默认情况,Maven假设项目主代码位于src/test/java目录

为项目添加JUnit依赖:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  5. http://maven.apache.org/xsd/maven-4.0.0.xsd">
  6.  
  7. <modelVersion>4.0.0</modelVersion>
  8. <groupId>com.juvenxu.mvnbook</groupId>
  9. <artifactId>hello-world</artifactId>
  10. <version>1.0-SNAPSHOT</version>
  11. <name>Maven Hello World Project</name>
  12.  
  13. <!--添加依赖的jar包-->
  14. <dependencies>
  15. <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖-->
  16. <dependency>
  17. <groupId>junit</groupId>
  18. <artifactId>junit</artifactId>
  19. <version>4.7</version>
  20. <scope>test</scope>
  21. </dependency>
  22. </dependencies>
  23. </project>

1.4 打包和运行

mvn clean package进行打包。(默认打包类型是jar)--Maven打包之前执行编译、测试等操作。

其他Maven项目直接引用jar?--mvn clean install

该任务将项目输出的jar安装到Maven本地仓库中。(构件被下载到本地仓库后,才能由所有Maven项目使用)。

二、Maven仓库

本地仓库默认值:C:\Users\自己的电脑用户名\.m2\repository

私服是一种特殊的远程仓库,它是架构在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven的用户使用。

Maven 学习(一)-Maven 使用入门的更多相关文章

  1. Maven学习(1) - Maven入门

    home index:http://maven.apache.org/ download:http://maven.apache.org/download.cgi install: http://ma ...

  2. Maven学习总结--maven入门(一)

    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理.

  3. springboot+idea+maven学习第一天(springboot入门,idea整合maven)

    1.springboot简介 简化Spring 用用开发的一个框架: 真个S僻壤技术栈的一个大整合 j2ee开发的一站式解决方案 2.微服务 微服务:是一种架构风格 一个应用应该是一组小型服务:可以通 ...

  4. Maven学习 二 Maven环境搭建

    第一步:下载Maven并解压 注意选择镜像地址,选择国内的会快点 解压目录 Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf: ...

  5. Maven学习- 使用Maven构建Web项目

    从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...

  6. Maven学习(十七)-----Maven外部依赖

    Maven外部依赖 正如大家所了解的那样,Maven确实使用 Maven 库的概念作依赖管理.但是,如果依赖是在远程存储库和中央存储库不提供那会怎么样? Maven 提供为使用外部依赖的概念,就是应用 ...

  7. Maven学习(三)-----Maven本地资源库

    Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹.很简单,当你建立一个Maven项目,所有相关文件将被存储在你的M ...

  8. maven 学习---使用Maven创建Java项目

    在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...

  9. Maven学习专题--Maven入门及安装

    因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven.我就毅然承担搭建maven环境的任务了.因为一切重头开始,就想把自己的整个搭建环境.项目创建.框架整合和模块管理整个过程 ...

  10. Maven 学习笔记——Maven环境配置(1)

    在学习Selenium的过程中,接触到了Maven(项目管理工具),不至于学一路忘一路,左耳朵进右耳多出,还是决定边学边记录,毕竟听的不如 看的,看的不如写的吗.首先学一样东西,肯定得明确学的是什么, ...

随机推荐

  1. ReentrantReadWriteLock源码分析

    代码在后面 读锁 = 共享锁 读锁写锁,公用一个Sync AQS state. 写锁是排他的,看到有人获取锁,他不会去获取,他获取了锁,别人也不会进来获取锁. 写锁的获取跟ReentarntLock一 ...

  2. Python3 CGI编程实现教程

    一.背景说明 虽然很久以前就听说“早期的网站很多通过cgi形式实现”.“C++可通过CGI形式编写网页”,日积月累对CGI也有了一些概念,但一直没真正见过一个实际运行的CGI网站,总归还是有些底气不足 ...

  3. 045 用户登录功能01----JWT和后台代码

    (1)有状态登录概述 有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session. 例如登录:用户登录后,我们把登录者 ...

  4. [转帖]OLAP引擎这么多,为什么苏宁选择用Druid?

    OLAP引擎这么多,为什么苏宁选择用Druid? 原创 51CTO 2018-12-21 11:24:12 [51CTO.com原创稿件]随着公司业务增长迅速,数据量越来越大,数据的种类也越来越丰富, ...

  5. R语言dataframe的常用操作总结

    前言:近段时间学习R语言用到最多的数据格式就是data.frame,现对data.frame常用操作进行总结,其中函数大部分来自dplyr包,该包由Hadley Wickham所作,主要用于数据的清洗 ...

  6. C语言中字符型,整数型,浮点型在内存中如何存储

    ···void main() { unsigned char a = 97; printf("%p",&a); printf("%c,%d\n", a, ...

  7. TJOI2018简要题解

    Day1T1数学计算 按照时间轴建一棵线段树即可,复杂度为\(O(m \log m)\) #include <bits/stdc++.h> #define N 100005 #define ...

  8. docker系列之一:初见docker

    什么是docker? docker是目前linux最流行的容器技术,Docker 将应用程序与该程序的依赖,打包在一个文件里面.运行这个文件,就会生成一个虚拟容器.程序在这个虚拟容器里运行,就好像在真 ...

  9. Java自学-接口与继承 super

    Java的super关键字 步骤 1 : 准备一个显式提供无参构造方法的父类 准备显式提供无参构造方法的父类 在实例化Hero对象的时候,其构造方法会打印 "Hero的构造方法 " ...

  10. windows 2003 域控服务器导出全部hash的方法

    天下文章一大抄,我也是醉了... 一份“错误”的文章一遍又一遍的被转载,盲目转载,根本不细看.只会误导新手. 谈下windows2003域控下如何导出全部的hash信息. 1. 使用备份还原向导 2. ...