十、Maven

Maven

  • 一个项目从开发到发布的流程

    • 编写项目的业务代码
    • 编译
    • 测试
    • 打包
    • 发布(部署)
  • maven是apache开源软件基金会下的一款开源项目,使用Java语言编写的一个项目构建软件工具;主要用于管理整个软件开发的生命周期

  • maven的优点

    • 屏蔽不同开发工具的项目管理和规范,使不同开发工具之间的项目可以兼容,统一项目规范
    • maven可以帮助管理项目的依赖
    • maven可以将本地一个项目发布到远程的服务器上
  • 安装maven

    • 下载maven的安装包,进行解压缩安装,和tomcat安装方式相同

    • 初始化环境配置:配置系统变量path

    • 命令窗口执行mvn -v查看当前maven版本

    • 修改maven配置文件settings.xml

      <!-- 给maven指定一个本地仓库的目录  53行左右 -->
      <localRepository>C:\apache-maven-3.6.3\maven</localRepository>
      <!-- 阿里云的maven服务器地址  146行左右 -->
       <mirrors>
               <mirror>
                        <id>alimaven</id>
                        <name>aliyun maven</name>
                        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
               <mirrorOf>central</mirrorOf>        
      </mirror>
      
  • Maven中的核心概念

    • pom.xml:依赖的坐标,maven会根据坐标的信息到指定的仓库中下载依赖jar
    • 仓库:存储依赖jar包的地方,开发人员会通过指定坐标的方式去下载依赖
      • 本地仓库:通常是开发人员本机的某个磁盘下的目录,settings.xml中自定义位置
      • 远程仓库:maven官方的中心仓库;第三方自己搭建的私服仓库
  • 下载依赖过程

    • 首先到本地仓库下载
    • 本地仓库没有,到远程仓库下载
      • 先检查是否配置了第三方的私服仓库,如果配置了到指定私服下载
      • 私服没有,则到maven的中心仓库下载
      • maven中心仓库没有,则报错
  • pom.xml中坐标的组成,坐标的主要作用是定位一个jar包在仓库中的位置,然后将其下载到项目环境中

    <!-- 模型的版本必须是4.0.0 -->
    <modelVersion>4.0.0</modelVersion>
            <!-- 去指定当前项目的组织名和项目名以及版本号,当前项目的坐标 -->
            <groupId>com.hang</groupId>
            <artifactId>maven-demo1</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <packaging>jar</packaging>
            <!-- 项目名 -->  
            <name>Maven-01</name>
            <!-- FIXME change it to the project's website -->
            <url>http://www.example.com</url>
    
            <!-- 当前项目的一些常量配置信息 -->
            <properties>
                    <!-- 项目构建的编码格式 -->
                    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                    <!-- 编译源码的jdk版本 -->
                    <maven.compiler.source>1.7</maven.compiler.source>
                    <!-- 编译源码目标执行的版本要求 -->
                    <maven.compiler.target>1.7</maven.compiler.target>
                    <!-- 定义一个版本号的常量 -->
                    <junit-version>4.12</junit-version>
            </properties>
      
            <!-- 指定项目需要的依赖坐标信息的位置 -->
            <dependencies>
                      <!-- 一对deoendency标签,指定一个依赖的坐标,maven会根据指定坐标下载依赖,通常去http://mvnrepository.com网站搜索需要依赖的坐标 -->
                      <dependency>
                                <groupId>junit</groupId>
                                <artifactId>junit</artifactId>
                                <version>4.12</version>
                                <!-- 用于设置当前的依赖作用范围,
                               test代表仅限于test目录下可以使用
                               provided指当前依赖期待容器提供,指项目发布后,运行到容器时提供
                               compile,默认,代表可以在main和test目录下使用,依赖编译期有效
                               runtime:运行时使用-->
                                <scope>test</scope>
                      </dependency>
        
              <dependency>
                        <!-- 组织的名称,通常是组织域名的倒置 -->
                        <groupId>org.apache.struts</groupId>   
                        <!-- 项目的名称 -->
                        <artifactId>struts2-core</artifactId>
                        <!-- 依赖版本号 -->
                        <version>2.3.16</version>
              </dependency>
          </dependencies>
          <!-- build中允许我们继承一些maven支持的插件 -->
          <build>
    
          </build>
    
  • maven中项目目录结构的规范

    • maven-demo 项目名
      • src/main/java 用于编写开发java源代码的位置
      • src/main/resources 用于存放项目的配置文件
      • src/text/java 用于编写测试类的位置
      • src/text/resources 用于存放测试环境的配置文件
      • pom.xml 指定当前项目相关的原始配置信息:如依赖坐标,项目名称等
      • target 当项目编译后生成的一些.class存放的目录
  • maven构建管理项目的基础命令

    • 编译命令:mvn compile 只会对源码进行编译,不包含测试包下的内容
    • 测试命令:mvn test 会对项目进行编译,然后自动执行测试类(测试包下的)
    • 打包:mvn package 执行打包操作时,会先编译,再测试,然后打包
    • 安装:mvn install 编译项目的源码,包括test包下,并自动执行测试、打包,最后将jar包安装到你的本地仓库中,如果其他项目需要通过maven坐标引入当前项目,可以直接从本地仓库引用
    • 清除历史编译:mvn clean 清除target目录
使用Myeclipse创建Maven项目
  • 配置Myeclipse

    • 在Preferences中搜索maven,找到Maven4MyEclipse,取消勾选每次启动自动更新,加快开发工具的启动速度
    • Maven4MyEclipse下的Installations,将本地安装的maven关联到Myeclipse,点Add
    • Maven4MyEclipse下的User Settings,点击Browse手动选择自己maven中的settings.xml配置文件
  • 创建Java SE项目

  • 创建Java Web项目

    • 引入javaEE基础依赖:servlet、jsp、jstl
  • 手动命令安装一个jar包到本地仓库

    mvn install:install-file -Dfile=E:\JavaWeb\JDBC\ojdbc5.jar -DgroupId=com.oracle -DartifactId=ojdbc5 -Dversion=5.0 -Dpackaging=jar
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值