一、maven简介以及常用概念

1.Maven是一个项目管理和整合的工具。Maven为开发者提供了一套完整的构建生命周期框架。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为Maven使用了一个标准的目录结构和一个默认的构建生命周期。在创建报告、检查、构建和测试自动配置时,Maven可以让开发者的工作变得更简单。

maven可以做的事: 构建、文档生成、报告、依赖、 SCMs(software configuration Management)、发布、分发 、邮件列表。

Maven使用约定而不是配置,意味着开发者不需要再自己创建构建过程。当创建Maven工程时,Maven会创建默认的工程结构,开发者只需要合理的放置配置文件而在pom.xml中无需做任何配置。

2.首先分享一个maven中央仓库: http://www.mvnrepository.com/

进入之后,搜索你要的jar包名,从相应的版本进入,把pom依赖复制到项目的pom.xml文件,重新mvn eclipse:eclipse就可以自动下载回依赖包了,很方便

3.常用概念

groupId:组织名称,举个例子,比如spring项目,它的groupId是 org.springframework,这是一个唯一的名称,用来形容整个项目。

artifactId:具体项目名称,比如spring项目,的一个bean子项目的artifactId是spring-beans

version:版本号

二、用eclipse创建maven项目

(1)打开eclipse,新建一个maven project,next,选择一个archetype(骨架),这里选择maven-archetype-quickstart,

(2)输入groupId:com.bench.app.ebuy,artifactId:ebuy

(3)再选择finish,eclipse就自动帮你建立好了一个工程了

(5)打开你的ebuy,会看到最底下有一个pom.xml文件,是用来管理这个项目的信息的,如版本,依赖项。

(6)以前都是把需要的jar拷过来,复制到工程下面,但是一旦需要换版本,又得重新找jar包,下载,拷贝,很繁琐,现在只需要在pom.xml里面写,就能自动导入了。

(7)找到dependencies标签,这里面是项目用到的所有依赖,首先加入一个junit

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

按下保存,相应的jar包就会被下载回本地maven仓库,并且导入到工程里来。当然,如果你是第一次操作,会比较慢,因为eclipse会从中央仓库下载junit和其他必要的组件。

上面是添加了junit依赖,还可以添加其他依赖。

小缺点

这里的版本号是写死的,如果要修改版本号,还要去dependcy里面改,这里把版本号单独提出来。

加入一个标签如下

<properties>
        <!-- spring -->
        <spring.version>4.1.7.RELEASE</spring.version>

        <!-- junit -->
        <junit.version>4.12</junit.version>

        <!-- MyBatis -->
        <mybatis.version>3.3.0</mybatis.version>
        <mybaitsSpring.version>1.2.3</mybaitsSpring.version>

        <!-- 连接mysql -->
        <mysqlConnec.version>5.1.36</mysqlConnec.version>

        <!-- log4j -->
        <log4j.version>1.2.17</log4j.version>

        <!-- velocity -->
        <velocity.version>1.7</velocity.version>
        <velocityTools.version>2.0</velocityTools.version>
    </properties>

刚才的junit依赖可以这样写了

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>

以下是这个项目完整的pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.bench.app.ebuy</groupId>
    <artifactId>ebuy</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>ebuy Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <properties>
        <!-- spring -->
        <spring.version>4.1.7.RELEASE</spring.version>

        <!-- junit -->
        <junit.version>4.12</junit.version>

        <!-- MyBatis -->
        <mybatis.version>3.3.0</mybatis.version>
        <mybaitsSpring.version>1.2.3</mybaitsSpring.version>

        <!-- 连接mysql -->
        <mysqlConnec.version>5.1.36</mysqlConnec.version>

        <!-- log4j -->
        <log4j.version>1.2.17</log4j.version>

        <!-- velocity -->
        <velocity.version>1.7</velocity.version>
        <velocityTools.version>2.0</velocityTools.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysqlConnec.version}</version>
        </dependency>

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>${mybaitsSpring.version}</version>
        </dependency>

        <!-- 添加servlet支持 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-tools</artifactId>
            <version>${velocityTools.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>${velocity.version}</version>
        </dependency>

    </dependencies>
    <build>
        <finalName>ebuy</finalName>
    </build>
</project>

web项目环境搭建(1):建立一个maven项目的更多相关文章

  1. Django项目: 项目环境搭建 ---- 一、创建django项目

    项目环境搭建 一.创建django项目 1.创建python虚拟环境 在虚拟机上创建python虚拟环境,因为实际项目部署,实在linux mkvirtualenv -p /usr/bin/pytho ...

  2. 怎么在本地建立一个Maven 项目push到码云(https://git.oschina.net)

    本地建立一个的mvan项目不使用SmartGit push到码云上. 1 首先在自己码云的建立一个maven 空项目 2 然后打开STS(Spring Tool Suite)   新建一个Maven( ...

  3. idea建立一个maven项目

    前言:虽然之前实习的时候有过spring框架的实践,但是因为基本上都是在已有的基础上进行修修补补,并没有对Spring框架有深刻的理解.所以从今天起,要从零开始对Spring框架进行学习.在此之前,第 ...

  4. 建一个maven项目

     建一个普通的maven项目(eclipse) 需要的jar和文件: eclipse :jdk1.8.0_144 maven:apache-maven-3.5.3     进入(下载):http:// ...

  5. jenkins 构建一个maven项目

    1.首先在 全局工具配置 里配置maven的路径信息 这里因为之前已经下载了maven并放在了E盘,因此只需要在 MAVEN_HOME 添加maven文件夹的路径 如若本地还没maven,勾选 “自动 ...

  6. Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  7. web项目环境搭建(2):整合SpringMVC+velocity

    velocity是一个基于java的模板引擎.velocity应用于web开发时,前端设计人员可以只关注页面的显示效果,而java程序人员只关注业务逻辑代码.velocity将java代码从web页面 ...

  8. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  9. maven Spring+Spring MVC+Mybatis+mysql轻量级Java web开发环境搭建

    之前一直在做的一个GIS系统项目,采用了jsp+servlet框架,数据传输框架采用了apache的thrift框架,短时多传的风格还不错,但是较其他的java web项目显得有点太臃肿了,现在给大家 ...

随机推荐

  1. ARP劫持攻击

    今天下午,莫名其妙的产生. 部分客户的网站产生乱码,但本机访问或是好好的. 外网访问,乱码的原文件是一个<IFRAME>网页. 听说,有时ARP攻击是导致网络中断或时断时续. 安全狗和36 ...

  2. 复位应答ATR的基本结构和数据元

    根据定义,复位应答是一系列字节的值,这些字节是由卡作为对复位命令的响应发送给接口设备的 ,在I/O电路上,每个字节在一个异步字符中传输.每个成功的复位操作,都会导致I/O上的一个初始字符TS,TS后面 ...

  3. GCC使用

    GCC的选项 如何指定GCC的默认头 文件路径 Linux系统的头文件 和库文件搜索路径 头文件 库文件 运行时动态库的搜索路径 GCC的选项 -c 只生成目标文件(.o),不连接. % gcc -c ...

  4. sql语句:union

     sql语句中,join,left join中,是将两个或多个表横向连接,而有时,我们需要将几个表或1个表纵向连接,甚至是连接自身,就比如,某些数据库脚本特别不合理的时候,但我们又不能说啥 ....郁 ...

  5. How to make onActivityResult get called on Nested Fragment

    One of the common problem we always meet in the world of Fragment is: although we could callstartAct ...

  6. C#获取字符串生成图片后的长度

    1.    使用g.MeasureString()获得 使用MeasureString测量出来的字符宽度,总是比实际宽度大一些,而且随着字符的长度增大,貌似实际宽度和测量宽度的差距也越来越大了.查了一 ...

  7. SRM475 - SRM479(1-250pt,500pt)

    SRM 475 DIV1 300pt 题意:玩游戏.给一个棋盘,它有1×n(1行n列,每列标号分别为0,1,2..n-1)的格子,每个格子里面可以放一个棋子,并且给定一个只含三个字母WBR,长度为n的 ...

  8. M - 小希的迷宫

    跟N题是一样的,不过会爆栈,有两种解决办法,第一种加 #pragma comment(linker, "/STACK:102400000,102400000") 这一行代码,不过只 ...

  9. apply 与arguments的用法

    一个小练习: 用一个 函数来代替console.log()的功能 function log(a){ console.log.apply(null,arguments);//arguments 是传的实 ...

  10. python爬虫__第一个爬虫程序

    前言 机缘巧合,最近在学习机器学习实战, 本来要用python来做实验和开发环境 得到一个需求,要爬取大众点评中的一些商户信息, 于是开启了我的第一个爬虫的编写,里面有好多心酸,主要是第一次. 我的文 ...