Maven 概念:

Maven 使用项目对象模型(POM)的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发布时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven ANT 的区别:

Ant 是软件构建工具,Maven 的定位是软件项目管理和理解工具。Maven 除了具备 Ant的功能外,还增加了以下主要的功能:

1)使用 Project Object Model 来对软件项目管理;

2)内置了更多的隐式规则,使得构建文件更加简单;

3)内置依赖管理和 Repository 来实现依赖的管理和统一存储;

4)内置了软件构建的生命周期;

目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为 make 的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它信息(如开发人员/拥有者、版本或站点主页)。

Maven 的下载与 IDE 的整合:

下载地址:

http://maven.apache.org/

Maven 仓库与配置

1Maven 仓库

Maven 仓库是基于简单文件系统存储的,集中化管理 Java API 资源(构件)的一个服务。仓库中的任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径。得益于 Maven 的坐标机制,任何 Maven 项目使用任何一个构件的方式都是完全相同的,Maven 可以在某个位置统一存储所有的 Maven 项目共享的构件,这个统一的位置就是仓库,项目构建完毕后生成的构件也可以安装或者部署到仓库中,供其它项目使用。对于 Maven 来说,仓库分为两类:本地仓库和远程仓库。

远程仓库

远程仓库指通过各种协议如 file://和 http://访问的其它类型的仓库。这些仓库可能是第三方搭建的真实的远程仓库,用来提供他们的构件下载(例如 repo.maven.apache.org 和uk.maven.org 是 Maven 的中央仓库)。其它“远程”仓库可能是你的公司拥有的建立在文件或 HTTP 服务器上的内部仓库,用来在开发团队间共享私有构件和管理发布的。

本地仓库

本地仓库指本机的一份拷贝,用来缓存远程下载,包含你尚未发布的临时构件

仓库配置

settings.xml 文件中配置本地仓库

本地仓库是开发者本地电脑中的一个目录,用于缓存从远程仓库下载的构件。默认的本地仓库是${user.home}/.m2/repository。用户可使用 settings.xml 文件修改本地仓库。具体内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- 本地仓库配置 -->
<localRepository>/put/your/local/repository/here</localRepository>
<!-- 省略,具体信息参考后续内容。 -->
</settings>

settings.xml 文件中配置镜像仓库:

如果仓库 A 可以提供仓库 B 存储的所有内容,那么就可以认为 A 是 B 的一个镜像。例如:在国内直接连接中央仓库下载依赖,由于一些特殊原因下载速度非常慢。这时,我们可以使用阿里云提供的镜像 http://maven.aliyun.com/nexus/content/groups/public/来替换中央仓库 http://repol.maven.org/maven2/。修改 maven 的 setting.xml 文件,具体内容如下:

<mirror>
<!-- 指定镜像 ID -->
<id>nexus-aliyun</id>
<!-- 匹配中央仓库。-->
<mirrorOf>central</mirrorOf>
<!-- 指定镜像名称 -->
<name>Nexus aliyun</name>
<!-- 指定镜像路径 -->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

仓库优先级问题

本地仓库,镜像仓库,中央仓库。

镜像仓库=中央仓库。 镜像仓库是用于替代中央仓库的。

仓库访问优先级: 第一访问本地仓库。如果本地仓库不存在对应信息,访问配置文件中指定的远程仓库。

这个远程仓库是第二优先级。

镜像仓库是 Maven 开发过程中的首选远程仓库,在本地仓库和指定仓库无法获取资源的时候,直接访问镜像仓库。

如果镜像仓库不是中央仓库,则会在访问镜像仓库无法获取资源后,访问中央仓库。

创建 Maven 项目:

创建步骤

2.1.1New--> other -->Maven Project

2.2填写项目信息

2.2.1 Group Id 公司域名倒写

2.2.2 Artifact Id 项目名

2.2.3 Version 版本名

2.2.4 Packaging 项目类型

2.2.4.1 Jar java 项目

2.2.4.2 War : web 项目

2.2.4.3 POM: 父项目.如果项目有子项目,项目必须是 pom

2.2.5 Name : 自定义名称,内容任意

2.2.6 Description: 描述.详细描述.

2.2.7 Parent Project: 如果当前项目有父项目时填写

2.3Maven 项目结构

src/main/java 这个目录下储存 java 源代码

src/main/resources 储存主要的资源文件。比如spring的xml配置文件和log4j的properties文件。

src/test/java 储存测试用的类,比如 JUNIT 的测试一般就放在这个目录下面

src/test/resources 储存测试用的资源文件

src 包含了项目所有的源代码和资源文件,以及其他项目相关的文件。

target 编译后内容放置的文件夹

pom.xml 是 Maven 的基础配置文件。配置项目和项目之间关系,包括配置依赖关系等等

maven与ecplise的整合的更多相关文章

  1. 基于maven的ssm框架整合

    基于maven的ssm框架整合 第一步:通过maven建立一个web项目.                第二步:pom文件导入jar包                              (1 ...

  2. Maven项目中Spring整合Mybatis

    Maven项目中Spring整合Mybatis 添加jar包依赖 spring需要的jar包依赖 <dependency> <groupId>org.springframewo ...

  3. 【SSM】Eclipse使用Maven创建Web项目+整合SSM框架

    自己接触ssm框架有一段时间了,从最早的接触新版ITOO项目的(SSM/H+Dobbu zk),再到自己近期来学习到的<淘淘商城>一个ssm框架的电商项目.用过,但是还真的没有自己搭建过, ...

  4. Intellij IDEA +MAVEN+Jetty实现Spring整合Mybatis

    1 pom.xml(这里出现transaction错误,是版本的问题) <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  5. IDEA下创建Maven项目,并整合使用Spring、Spring MVC、Mybatis框架

    项目创建 本项目使用的是IDEA 2016创建. 首先电脑安装Maven,接着打开IDEA新建一个project,选择Maven,选择图中所选项,下一步. 填写好GroupId和ArtifactId, ...

  6. Eclipse使用Maven创建Web项目+整合SSM框架

    一.准备环境: maven:apache-maven-3.2.3 jdk:jdk1.8.0_25 tomcat:tomcat-9.0 二.配置Maven.jdk 1.Window——>Prefe ...

  7. ssm+maven多模块项目整合

    我的项目一共会分为4个模块:entity.dao.service和web 一.创建父模块 填写GroupId与ArtifactId 填写项目名称和项目保存路径 因为是父模块所以src包可以删除 二.创 ...

  8. MyEclipse的多模块Maven web(ssm框架整合)

    Maven的多模块可以让项目结构更明确,提高功能的内聚,降低项目的耦合度,真正的体现出分层这一概念. 我们在操作中,要明白为什么这样做,要了解到更深的层次,这样,我们就不限于个别软件了. 话不多说,直 ...

  9. Maven SSH三大框架整合的加载流程

    <Maven精品教程视频\day02视频\03ssh配置文件加载过程.avi;> 此课程中讲 SSH三大框架整合的加载流程,还可以,初步接触的朋友可以听一听. < \day02视频\ ...

随机推荐

  1. javascript 字符串转化成函数执行

    javascript 字符串转化成函数执行<pre>function func_abc(){ alert('a');}var str = "func_abc";eval ...

  2. python Django框架正式准备工作

    之前由于不太了解数据库方面的知识,但经过一段时间的web应用的开发学习,成功的用其他框架连接了数据库,并完成了相关操作,数据爬取也初识了,更了解了python这门语言的语法,但路还很长,因此现在才能正 ...

  3. JavaScrip 基础

    JavaScript 基础 前段的三剑客之一JS,来来来,看看它是什么鬼!到底如何让网页动起来的呢,今天就搞他一下. 一.JavaScript的简单介绍 javascript是一门动态弱类型的解释型编 ...

  4. 《JAVA 程序员面试宝典(第四版)》之JAVA程序设计基础概念(1)类型转换

      问题主题:类型转换   书页号码:37页 题目: 讨论点:答案不是D,应该是B 理由:看下面在编译器输入的结果 知识扩展:装箱与拆箱, == 与 equals 区别 之前也老是听说什么装箱.拆箱之 ...

  5. linux下制作linux系统盘(光盘、U盘)

    cdrecord制作启动光盘 首先cdrecord -scanbus输出设备列表和标识,(我的此次为5,0,0)  [ˈrekərd] 然后用cdrecord -v dev=5,0,0 -eject ...

  6. Android DecorView 与 Activity 绑定原理分析

    一年多以前,曾经以为自己对 View 的绘制已经有了解了,事后发现也只是懂了些皮毛而已.经过一年多的实战,Android 和 Java 基础都有了提升,时机成熟了,是时候该去总结 View 的绘制流程 ...

  7. add jar and proxy repo

    1. 添加代理仓库 2. 添加host 仓库 3. 添加私有jar 4. 添加仓库到public 仓库

  8. vue跨域处理

    本人对于vue跨域处理流程不是很清楚,特此理顺一遍. 1.在config中进行配置,该文件不是都存在,需要自己建: proxyTable,这个参数主要是一个地址映射表,你可以通过设置将复杂的url简化 ...

  9. 2019-9-10:渗透测试,基础学习,sql注入笔记

    sql注入1,万能密码,自己写的网站,找到登录窗口,必须和数据库交互,往里插入构造的恶意代码,最后可以直接登录进去,不需要账号和密码,输入的恶意代码成为万能密码,后端拼接的sql语句,SELECT * ...

  10. 2019-9-18:渗透测试,基础学习,ubuntu搭建LNMP,phpmyadmin

    1,安装nginx:sudo apt-get install nginx 2,安装完成,输入,service nginx start开启服务,输入:netstat -ntulp |grep 80,确定 ...