Mevan

本文详细介绍Maven的安装配置过程,包括环境变量配置、本地仓库管理及常用命令介绍,并提供了SSM框架项目的完整配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Maven
                                         maven是apache下的一个开源项目,只能用maven来管理java工程,maven的主
                                                 要作用是管理我们项目中所需要的jar包
                                            下载安装
                                         下载地址是http://maven.apache.org/download.cgj
                                                  解压即安装.最好解压到一个没有中文和空格的目录最终
                                            配置环境变量
                                         电脑上需要安装jdk1.7以上的jdk,需要配置JAVA_HOME
                                                 配置MAVEN_HOME
                                                 
                                                            将%MAVEN_HOME %/bin配置到环境变量path中
                                                
                                                            
                                                            在cmd窗口中输入mvn -v查看
                                              
                                                         
                                                配置成功
                                                   maven的仓库
                                                            maven是将用到的所有jar包,保存到仓库,仓库分为三种,本地仓库,远程仓库,中
                                                央仓库
                                                    
                                                本地仓库是我们自己进行管理,在本机的电脑中存的
                                                远程仓库(私服)有的公司会自己搭建一个属于公司内部的仓库
                                                中央仓库,有maven团队进行管理,维护着大概两个亿的jar包
                                                本地仓库没有所需要的jar包,会一级一级进行下载,如果没有远程
                                                仓库,本地仓库就
                                                会直接从中央仓库进行下载
                                        配置本地仓库
                                                 将仓库进行解压到maven文件夹下对项目进行清理,编译,运行,打
                                                 包等操作,以下操作需要进入maven工程下
                                        compile编译命令
                                                 通过mvn compile可以编译src/main/java下的文件生成class文
                                                 件输出到target文件夹,不会编译test的文件夹
                                       test编译命令  
                                                 通过mvn test可以编译src/test/java下的单员测试类
                                        clean命令
                                                 通过mvn clean可以清楚target下的文件
                                        package命令
                                                 通过mvn package可以将web项目打包成war, java项目打包成
                                                 jar,放在target目录下,使用此命令会执行compoile,test
                                        install命令
                                                 通过mvn install可以将对应的应用打包成war和jar并发布到本地
                                                 仓库中,对于war包发布到本地仓库是没有用的,因为我们要进行依
                                                 赖管理只会管理jar包,内部会执行compile,test,package
                                        tomcat: run 命令
                                                 通过mvn tomcat:run可以使用内置的tomcat插件运行web应用,
                                                 注意结束窗口使用ctrl+v
                                 命令同时执行                                
                                                 可以通过mvn clean install同时执行两个命令
                   maven项目构建
                                         eclipse需要安装m2e插件,我们的eclipse中已经集成了m2e
                                                 插件,所以我们不需要再去下载m2e的插件
                                                 eclipse中默认带了maven管理,我们可以使用我们下载的版本  
                                                 进行相关操作
             
 
                                                   加载默认配置文件,从我们配置的文件中加载
                                              
                            
                                                    新建maven项目
                                                                                               
                                         
 
                                                              
                                    跳过骨架操作
               
                                    如果不跳过骨架,创建的工程的目录是不完整的
   
                                    设置坐标和打包方式
 
 
                                       jar表示java工程
                                       war表示web工程
                                       pom表示父类工程(分模块开发的时候需要)
                                     
                                      默认没有web.xml文件需要进行添加web.xml文件
              
                 
                                  
                            建立索引
                 
     
   
                         创建servlet
                         添加jar的依赖管理
                
 
 
                        maven的依赖管理
                             通过maven的依赖管理对项目中的jar包进行统一的管理
                                   <dependencies>标签表示当前项目所依赖dejar包,其内部是
                                         <dependency>标签
                                   <dependency>表示具体的依赖其内部有4个标签
                                   <groupId>表示组织名+项目名
                                   <artifactId>模板块名称
                                   <version>表示版本号
                                   <scope>表示依赖范围
                                   
                                             compile 表示编译时依赖,是默认值,会在编译,测试,运行的时候都要使用
                                    provided只在编译和测试时依赖,运行的时候不依赖,如servlet-api因为
                                    tomcat已经提供,所以运行的时候如果使用就会出现错误,所以设置为
                                    provided
                                    runtime运行和测试的时候需要,编译的时候不需要,如runtime
                                    test测试的时候依赖,编译和运行的时候不依赖,如Junit
                                    system依赖范围和provide相同,但是需要提供一个磁盘路径,不推荐使用
                                        
 
<dependencies>
       <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifact Id>
             <version>2.5</version>
             <scope>provided</scope>
      </dependency>
</dependencies>
 
                              maven的坐标查找
                         
                                      网页查找
                                     如果我们需要使用jar包,就需要知道对应jar包的坐标,可以通过
                                        https://mvnrepository.com/进行查找
                            
                     
 
 
 
 
 
               搜索本地仓库 
                       本地仓库需要先构建索引,前面已经介绍
                    
 
 
                          配置插件
                           maven中也可以配置很多插件,如jdk版本和tomcat的插件
                                <build> 项目构建配置,配置编译,运行插件等
                                <plugins>内部放<plugin>,是管理的插件
                                <plugin>插件标签,内部配置该插件内部有<configration>
                                <configuration>表示配置信息
                          处理编译器版本
                            我用的处理器是1.8所以这个不用配置
   
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.mave n.plugins</groupId>
            <artifactId>maven-compile r-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
            <source>1.7</source>
            <target>1.7</target>
            <encoding>UTF-8</enco ding>
          </configuration>
       </plugin>
    </plugins>
</build>
                        tomcat插件
            
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.tomcat.ma ven</groupId>
      <artifactId>tomcat7-maven-plu gin</artifactId>
      <version>2.2</version>
        <configuration>
          <port>8081</port>
        </configuration>
    </plugin>
  </plugins>
</build>
 
                          ssm框架比较完整的配置
 
<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.zhiyou200</groupId>
  <artifactId>ssm-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
 
  <!-- 集中定义依赖版本号 -->
     <properties>
           <!-- 单元测试 -->
           <junit.version>4.12</junit.version>
           <!-- Spring -->
           <spring.version>4.2.4.RELEASE</spring.version>
           <!-- Mybatis -->
           <mybatis.version>3.2.7</mybatis.version>
          <mybatis.spring.version>1.2.2</mybatis.spring.version>
           <!-- MySql -->
           <mysql.version>5.1.32</mysql.version>
           <!-- 连接池 -->
           <c3p0.version>0.9.1.2</c3p0.version>
           <!-- 日志处理 -->
           <slf4j.version>1.6.4</slf4j.version>
           <!-- Jackson Json处理工具包 -->
           <jackson.version>2.4.2</jackson.version>
           <!-- JSP相关 -->
           <jstl.version>1.2</jstl.version>
           <servlet-api.version>2.5</servlet-api.version>
           <jsp-api.version>2.0</jsp-api.version>
           <!-- Apache工具组件 -->
           <commons-lang3.version>3.3.2</commons-lang3.version>
           <commons-io.version>1.3.2</commons-io.version>
           <commons-net.version>3.3</commons-net.version>
           <!-- 文件上传组件 -->
          <commons-fileupload.version>1.3.1</commons-fileupload.version>
     </properties>
     <dependencyManagement>
           <dependencies>
                <!-- 单元测试 -->
                <dependency>
                     <groupId>junit</groupId>
                     <artifactId>junit</artifactId>
                     <version>${junit.version}</version>
                     <scope>test</scope>
                </dependency>
                <!-- Spring -->
                <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>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-jms</artifactId>
                     <version>${spring.version}</version>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-context-support</artifactId>
                     <version>${spring.version}</version>
                </dependency>
                <!-- Mybatis -->
                <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>
                <!-- MySql -->
                <dependency>
                     <groupId>mysql</groupId>
                     <artifactId>mysql-connector-java</artifactId>
                     <version>${mysql.version}</version>
                     <scope>runtime</scope>
                </dependency>
                <!-- 连接池 -->
                <dependency>
                     <groupId>c3p0</groupId>
                     <artifactId>c3p0</artifactId>
                     <version>${c3p0.version}</version>
                </dependency>
                <!-- 日志处理 -->
                <dependency>
                     <groupId>org.slf4j</groupId>
                     <artifactId>slf4j-log4j12</artifactId>
                     <version>${slf4j.version}</version>
                </dependency>
                <!-- Jackson Json处理工具包 -->
                <dependency>
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-databind</artifactId>
                     <version>${jackson.version}</version>
                </dependency>
                <!-- JSP相关 -->
                <dependency>
                     <groupId>jstl</groupId>
                     <artifactId>jstl</artifactId>
                     <version>${jstl.version}</version>
                </dependency>
                <dependency>
                     <groupId>javax.servlet</groupId>
                     <artifactId>servlet-api</artifactId>
                     <version>${servlet-api.version}</version>
                     <scope>provided</scope>
                </dependency>
                <dependency>
                     <groupId>javax.servlet</groupId>
                     <artifactId>jsp-api</artifactId>
                     <version>${jsp-api.version}</version>
                     <scope>provided</scope>
                </dependency>
                <!-- Apache工具组件 -->
                <dependency>
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-lang3</artifactId>
                     <version>${commons-lang3.version}</version>
                </dependency>
                <dependency>
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-io</artifactId>
                     <version>${commons-io.version}</version>
                </dependency>
                <dependency>
                     <groupId>commons-net</groupId>
                     <artifactId>commons-net</artifactId>
                     <version>${commons-net.version}</version>
                </dependency>
                <!-- 文件上传组件 -->
                <dependency>
                     <groupId>commons-fileupload</groupId>
                     <artifactId>commons-fileupload</artifactId>
                     <version>${commons-fileupload.version}</version>
                </dependency>
           </dependencies>
     </dependencyManagement>
     <!-- 依赖管理 -->
      <dependencies>
           <!-- 单元测试 -->
                <dependency>
                     <groupId>junit</groupId>
                     <artifactId>junit</artifactId>
                </dependency>
                <!-- Spring -->
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-context</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-beans</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-webmvc</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-jdbc</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-aspects</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-jms</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-context-support</artifactId>
                </dependency>
                <!-- Mybatis -->
                <dependency>
                     <groupId>org.mybatis</groupId>
                     <artifactId>mybatis</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.mybatis</groupId>
                     <artifactId>mybatis-spring</artifactId>
                </dependency>
                <!-- MySql -->
                <dependency>
                     <groupId>mysql</groupId>
                     <artifactId>mysql-connector-java</artifactId>
                </dependency>
                <!-- 连接池 -->
                <dependency>
                     <groupId>c3p0</groupId>
                     <artifactId>c3p0</artifactId>
                </dependency>
                <!-- 日志处理 -->
                <dependency>
                     <groupId>org.slf4j</groupId>
                     <artifactId>slf4j-log4j12</artifactId>
                </dependency>
                <!-- Jackson Json处理工具包 -->
                <dependency>
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-databind</artifactId>
                </dependency>
                <!-- JSP相关 -->
                <dependency>
                     <groupId>jstl</groupId>
                     <artifactId>jstl</artifactId>
                </dependency>
                <dependency>
                     <groupId>javax.servlet</groupId>
                     <artifactId>servlet-api</artifactId>
                </dependency>
                <dependency>
                     <groupId>javax.servlet</groupId>
                     <artifactId>jsp-api</artifactId>
                </dependency>
                <!-- Apache工具组件 -->
                <dependency>
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-lang3</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.apache.commons</groupId>
                     <artifactId>commons-io</artifactId>
                </dependency>
                <dependency>
                     <groupId>commons-net</groupId>
                     <artifactId>commons-net</artifactId>
                </dependency>
                <!-- 文件上传组件 -->
                <dependency>
                     <groupId>commons-fileupload</groupId>
                     <artifactId>commons-fileupload</artifactId>
                </dependency>
                <dependency>
                     <groupId>org.springframework</groupId>
                     <artifactId>spring-test</artifactId>
                </dependency>
      </dependencies>
           <build>
           <!--打包src下的xml文件-->
           <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>
                <include>**/*.tld</include>
            </includes>
            <filtering>false</filtering>
        </resource>
    </resources>
           <plugins>
<!--            <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <version>3.5.1</version>
                     <configuration>
                           <source>1.7</source>
                           <target>1.7</target>
                           <encoding>UTF-8</encoding>
                     </configuration>
                </plugin>
-->
                <!--tomcat7:run-->
                 <plugin>
                     <groupId>org.apache.tomcat.maven</groupId>
                     <artifactId>tomcat7-maven-plugin</artifactId>
                     <version>2.2</version>
                     <configuration>
                           <path>/hello</path>
                           <port>8081</port>
                     </configuration>
                </plugin>
 
           </plugins>
     </build>
 
           <modules>
                <module>ssm-dao</module>
                <module>ssm-service</module>
                <module>ssm-web</module>
           </modules>
</project>

转载于:https://www.cnblogs.com/chenzijian/p/7392168.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值