Maven

Maven

1 介绍

什么是Maven

Maven 是专门用于构建和管理Java相关项目的工具。
Maven是意第绪语,依地语(犹太人使用的国际语),表示专家的意思。 

Maven 主要用处一:相同的项目结

使用Maven管理的Java 项目都有着相同的项目结构
1. 有一个pom.xml 用于维护当前项目都用了哪些jar包
2. 所有的java代码都放在 src/main/java 下面
3. 所有的测试代码都放在src/test/java 下面

Maven 主要用处二:统一维护jar包

比如说有3个Java 项目,这些项目都不是maven风格。那么这3个项目,就会各自维护一套jar包。 而其中有些jar包是相同的。
而maven风格的项目,首先把所有的jar包都放在"仓库里,然后哪个项目需要用到这个jar包,只需要给出jar包的名称和版本号就行了。 这样jar包就实现了共享
如图所示,在pom.xml里,表示用到了spring boot的jar包,版本号是1.5.9。

2 下载与配置

配置环境变量

右键我的电脑-属性-高级系统设置-环境变量-系统变量-Path

 

检验版本

使用win+r, 然后输入cmd 打开命令行,输入如下命令

mvn -v
倘若出现如图所示的截图,即表示配置成功了

3 仓库

仓库概念

所谓的仓库就是用于存放项目需要的jar包的。
maven采用一个仓库,多个项目的方式,让多个项目共享一个仓库里的相同jar包。

仓库默认位置

打开:

D:\ConfigurationFileSpace\maven\apache-maven-3.3.9\conf\settings.xml

本机的仓库位置:


maven 会默认从maven官方提供的服务器下载jar包。 
而官方服务器在国外,因为大家都知道的原因,网速很慢,而且容易卡断。 为了便于快速下载相关jar包,可以使用国内maven 阿里云的下载地址

使用阿里云下载路径

打开D:\ConfigurationFileSpace\maven\apache-maven-3.3.9\conf\settings.xml

使用现成的仓库

4 Eclipse创建Maven项目

设置MAVEN路径

菜单->Window->Preferences->Maven->Installations->

设置仓库路径

菜单->Window->Preferences->Maven->User Settings-> 
Global Settings 和 User Settings都使用:

新建Maven 项目

菜单->File->New->Other->Maven->Maven Project

5 添加JAR包

Maven项目用到第三方jar

当一个Maven项目需要用到第三方jar的时候,就需要添加对应的jar包。
本例演示如何添加一个jdbc的jar包

给maven项目添加jar

双击pom.xml,出现pom专有的编辑页面。
点击OverView右边的Dependencies可以看到里面有一个默认存在的junit
然后点击Add,弹出选择窗口
在中间 Enter GroupId, artifactId or sha1 prefix or pattern(*).... 这个地方输入mysql,下面就会出来被搜索到的mysql-connector-java
选中它,并点击ok
注: Scope要选择compile,表示编译期间要用到。
注: 如果输入了mysql下面没有自动显示搜索结果怎么办?点击 重建本地仓库

步骤 4 : 

保存再执行

点击保存,一定要记得保存,保存才能使得pom.xml中的jar包依赖起作用,接着再运行
重建本地仓库

倘若在给maven项目添加jar中无法搜索到mysql jar包,那么可以按照如下行为操作一遍
菜单->Window->Show View->Other->Maven->Maven Repositories->Local Repository->Rebuild Index

6 Maven风格的Web项目

新建Maven 项目

菜单->File->New->Other->Maven->Maven Project

这个界面使用webapp,点下一步

默认选中的是maven-archetype-quickstart, 请修改为: maven-archetype-webapp

此时得到的maven web 项目的问题

此时能得到的maven web 项目,不过有两个问题
1. 没有java源代码目录
2. index.jsp报错

 

7 创建SSM项目

pom.xml:

接着复制粘贴pom.xml为下面的代码。 粘贴之后,jsp本来的报错就消失了,不过出来一个新的问题,要求通过Maven更新项目。
右键项目->Maven->Update Project,会弹出一个对话框,点击Ok,这个问题就消失了。

<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/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>com.yrf</groupId>

  <artifactId>ssm</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>war</packaging>

  <properties>

    <spring.version>4.1.3.RELEASE</spring.version>

    <pagehelper.version>5.1.2-beta</pagehelper.version>

    <mysql.version>5.1.6</mysql.version>

    <mybatis.spring.version>1.2.3</mybatis.spring.version>

    <mybatis.version>3.1.1</mybatis.version>

    <junit.version>4.12</junit.version>

    <jstl.version>1.2</jstl.version>

    <jsqlparser.version>1.0</jsqlparser.version>

    <jackson.version>1.2.7</jackson.version>

    <servlet-api.version>3.1.0</servlet-api.version>

    <druid.version>1.0.18</druid.version>

    <log4j.version>1.2.16</log4j.version>

    <commons-logging.version>1.2</commons-logging.version>

    <commons-fileupload.version>1.2.1</commons-fileupload.version>

    <commons-io.version>1.3.2</commons-io.version>

    <commons-lang.version>2.6</commons-lang.version>

    <aopalliance.version>1.0</aopalliance.version>

    <mybatis-generator.version>1.3.5</mybatis-generator.version>

  </properties>

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>${junit.version}</version>

    </dependency>

    <dependency>

      <groupId>org.mybatis</groupId>

      <artifactId>mybatis</artifactId>

      <version>${mybatis.version}</version>

    </dependency>

    <dependency>

      <groupId>org.mybatis</groupId>

      <artifactId>mybatis-spring</artifactId>

      <version>${mybatis.spring.version}</version>

    </dependency>

    <dependency>

      <groupId>mysql</groupId>

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

      <version>${mysql.version}</version>

    </dependency>

    <dependency>

      <groupId>com.alibaba</groupId>

      <artifactId>druid</artifactId>

      <version>${druid.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-context</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-test</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-webmvc</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-jdbc</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-aspects</artifactId>

      <version>${spring.version}</version>

    </dependency>

    <!-- JSP相关 -->

    <dependency>

      <groupId>jstl</groupId>

      <artifactId>jstl</artifactId>

      <version>${jstl.version}</version>

    </dependency>

    <dependency>

      <groupId>javax.servlet</groupId>

      <artifactId>javax.servlet-api</artifactId>

      <version>${servlet-api.version}</version>

      <scope>provided</scope>

    </dependency>

    <!-- pageHelper -->

    <dependency>

      <groupId>com.github.pagehelper</groupId>

      <artifactId>pagehelper</artifactId>

      <version>${pagehelper.version}</version>

    </dependency>

    <!--jsqlparser-->

    <dependency>

      <groupId>com.github.jsqlparser</groupId>

      <artifactId>jsqlparser</artifactId>

      <version>${jsqlparser.version}</version>

    </dependency>

    <dependency>

      <groupId>log4j</groupId>

      <artifactId>log4j</artifactId>

      <version>${log4j.version}</version>

    </dependency>

    <dependency>

      <groupId>commons-logging</groupId>

      <artifactId>commons-logging</artifactId>

      <version>${commons-logging.version}</version>

    </dependency>

    <dependency>

      <groupId>commons-fileupload</groupId>

      <artifactId>commons-fileupload</artifactId>

      <version>${commons-fileupload.version}</version>

    </dependency>

    <dependency>

      <groupId>commons-io</groupId>

      <artifactId>commons-io</artifactId>

      <version>${commons-io.version}</version>

    </dependency>

    <dependency>

      <groupId>commons-lang</groupId>

      <artifactId>commons-lang</artifactId>

      <version>${commons-lang.version}</version>

    </dependency>

    <dependency>

      <groupId>aopalliance</groupId>

      <artifactId>aopalliance</artifactId>

      <version>${aopalliance.version}</version>

    </dependency>

    <dependency>

      <groupId>org.mybatis.generator</groupId>

      <artifactId>mybatis-generator-core</artifactId>

      <version>${mybatis-generator.version}</version>

    </dependency>

  </dependencies>

  <build>

    <finalName>${project.artifactId}</finalName>

    <plugins>

      <!-- 资源文件拷贝插件 -->

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-resources-plugin</artifactId>

        <version>2.7</version>

        <configuration>

          <encoding>UTF-8</encoding>

        </configuration>

      </plugin>

      <!-- java编译插件 -->

      <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-compiler-plugin</artifactId>

        <version>3.2</version>

        <configuration>

          <source>1.8</source>

          <target>1.8</target>

          <encoding>UTF-8</encoding>

        </configuration>

      </plugin>

    </plugins>

    <pluginManagement>

      <plugins>

        <!-- 配置Tomcat插件 -->

        <plugin>

          <groupId>org.apache.tomcat.maven</groupId>

          <artifactId>tomcat7-maven-plugin</artifactId>

          <version>2.2</version>

        </plugin>

      </plugins>

    </pluginManagement>

    <resources>

      <resource>

        <directory>src/main/resources</directory>

        <includes>

          <include>**/*.properties</include>

          <include>**/*.xml</include>

          <include>**/*.tld</include>

        </includes>

        <filtering>false</filtering>

      </resource>

      <resource>

        <directory>src/main/java</directory>

        <includes>

          <include>**/*.properties</include>

          <include>**/*.xml</include>

        </includes>

        <filtering>false</filtering>

      </resource>

    </resources>

  </build>

</project>

配置文件

把三个配置文件复制到 ssm/src/main/resources下面

8 导入SSM项目

导入项目

File->Import->Maven->Existing Maven Projects->找到项目

 

9 启动Tomcat

右键点击项目,点击Run As -> Run on Server 启动Tomcat

输入 tomcat:run   或者tomcat7:run

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值