【翠花学Maven】Maven详解

Maven的作用和定义

定义:

Maven是一个跨平台的项目管理工具,是Apache组织中的一个颇为成功的开源项目。Maven主要服务基于java的项目构建,项目信息管理和依赖管理。

作用:

1.Maven可以创建项目

2.Maven可以引入依赖的jar包

在Maven中有一个核心的概念--仓库,分为本地仓库和远程仓库。远程仓库又分为中央仓库,私服和其他仓库。

仓库具体了解:

如图所示:在美国有一个中央仓库,我可以创建一个本地仓库获取中央仓库的项目模板和依赖jar,在我每次创建项目的时候就可以直接从本地仓库获取,但是,由于中央仓库在国外,下载速度比较慢,这时候,国内知名企业创建了镜像仓库,他获取了中央仓库的信息,此时本地仓库下载镜像仓库的速度就会快很多。

 3.Maven发布管理项目

Maven可以将项目打包成开发人员指定的类型,用于部署到web容器,Maven还可以将项目打包到仓库中,方便项目的相互依赖。

Maven的安装和配置

1.下载Maven

官网:http://maven.apache.org/download.cgi

2.安装Maven

直接解压即可完成Maven的安装。

安装完成后注意:

安装完之后打开conf里面的setting.xml

设置本地仓库的路径,设置完成后,创建对应的文件夹。

 配置镜像仓库

 配置完成后记得保存,保存完之后关闭即可。

3.配置环境变量

右击此电脑,点击属性,打开高级系统设置,点击环境变量,新建系统变量,变量名为MAVEN_HOME,值为你的maven所安装的目录,注意,maven所安装的目录最好不要出现中文。

点击系统设置中的path,新建内容如下所示:

4.测试环境变量是否正确

打开cmd窗口,输入 mvn -v,如果能看到Maven的版本信息,则代表环境变量配置正确。

Maven的常用操作

替换idea捆绑的Maven

具体配置如下图所示:

 设置完成之后点击apply,之后点击完成即可。

使用Maven进行项目构建

具体设置如图所示:

点击next出现如下图所示的窗口:

其中,

GroupId:组id,通常为基准包名,用于给多模块进行分组时使用。

ArtifactId:项目名,通常项目名不允许大写,也不要用驼峰命名法,多个单词组成中间用“-”隔开。

Version:版本(RELEASE,snapshot),前者为发布版,后者为快照版,发布版有源码,文档,注释等一系列完整的使用方法,快照版只有源码,可能甚至只有class。

继续点击next,注意使用的文件路径是否是你所设置的路径,如果是,点击next,finish

 创建完成之后,等待加载pom文件,第一次时间比较久。如果pom文件有报错的可以右击,点击Maven,点击Reimport让它重新加载即可。

完成之后在src-main目录下创建java目录和resources目录。

 设置目录的作用:点击file--setting--project-structure

具体配置如下图所示:

项目目录结构

src/main/java: 只允许写java类

src/main/resources:  只允许存放配置文件(xml,properties)

src/main/webapp: 存放jsp,资源文件(js,css,图片)

src/test/java:在maven项目中不允许编写main函数,一些都要使用junit进行单元测试

target: web项目打包,会形成这个目录,里面会有这个项目的打包文件,直接丢进tomcat即可启动

pom.xml:这个文件是maven项目中核心文件,如果要加入依赖库,都需要通过这个文件进行编辑才可以。

如果想要写main函数进行单元测试,需要进行如下步骤:

将java目录设置为测试目录

但是一般不用maven做测试类,这边只做了解即可。

创建完成后,需要复制一些依赖到pom文件中。

具体内容如下:

<dependency>

        <groupId>aopalliance</groupId>

        <artifactId>aopalliance</artifactId>

        <version>1.0</version>

    </dependency>

    <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->

    <dependency>

        <groupId>org.aspectj</groupId>

        <artifactId>aspectjweaver</artifactId>

        <version>1.6.9</version>

    </dependency>

    <!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->

    <dependency>

        <groupId>commons-dbcp</groupId>

        <artifactId>commons-dbcp</artifactId>

        <version>1.4</version>

    </dependency>

    <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->

    <dependency>

        <groupId>commons-fileupload</groupId>

        <artifactId>commons-fileupload</artifactId>

        <version>1.2.2</version>

    </dependency>

    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->

    <dependency>

        <groupId>commons-io</groupId>

        <artifactId>commons-io</artifactId>

        <version>2.4</version>

    </dependency>

    <!-- https://mvnrepository.com/artifact/commons-lang/commons-lang -->

    <dependency>

        <groupId>commons-lang</groupId>

        <artifactId>commons-lang</artifactId>

        <version>2.6</version>

    </dependency>

        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->

    <dependency>

        <groupId>commons-logging</groupId>

        <artifactId>commons-logging</artifactId>

        <version>1.1.1</version>

    </dependency>

    <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->

<dependency>

    <groupId>com.alibaba</groupId>

    <artifactId>fastjson</artifactId>

    <version>1.2.13</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->

<dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>jstl</artifactId>

    <version>1.2</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/log4j/log4j -->

<dependency>

    <groupId>log4j</groupId>

    <artifactId>log4j</artifactId>

    <version>1.2.17</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->

<dependency>

    <groupId>org.mybatis</groupId>

    <artifactId>mybatis</artifactId>

    <version>3.2.2</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->

<dependency>

    <groupId>org.mybatis</groupId>

    <artifactId>mybatis-spring</artifactId>

    <version>1.2.2</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->

<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.25</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-aop</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-beans</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-context</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-core</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-context</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-jdbc</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-tx</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-web</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->

<dependency>

    <groupId>org.springframework</groupId>

    <artifactId>spring-webmvc</artifactId>

    <version>3.2.13.RELEASE</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/taglibs/standard -->

<dependency>

    <groupId>taglibs</groupId>

    <artifactId>standard</artifactId>

    <version>1.1.2</version>

</dependency>

    <!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->

<dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>servlet-api</artifactId>

    <version>2.5</version>

    <scope>provided</scope>

</dependency>

复制到对应的依赖下,完成之后右下角出现的弹窗,点击第一个即可。

 至此,Maven基本框架就已经搭建完毕,写一个小项目测试一下即可。

测试

在java目录下创建实体类,mapper接口,业务逻辑层,控制器,具体内容如下所示:

在web.xml文件中配置如下内容,其中需要注意的是:idea18版需要注意顺序,高版本不需要

在resources目录下创建mapper映射文件以及Spring配置文件

配置文件中需要注意释放静态资源以及json转码

jsp页面大致内容如下:

 在执行web项目时,需要设置tomcat以及发布的内容

具体步骤如下所示:

点击edit

点击application应用

 点击左上角加号,选择tomcat,点击local本地

 点击之后进入如下界面,名字随便输入即可。

 点击deployment,点击右上角加号,选择第一个

进入如下界面,选择war包,点击ok,随后点击apply,ok即可发布项目

 

  • 24
    点赞
  • 99
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUG忠实爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值