zoukankan      html  css  js  c++  java
  • maven

    Maven简介

    Maven是什么

    Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具
    通过pom.xml文件的配置获取jar包,而不用手动去添加jar包
    合理叙述项目间的依赖关系

    Maven下载安装

    下载地址:http://maven.apache.org/download.cgi
    安装:直接解压就可以

    目录结构

    bin:包含了Maven的运行脚本文件
    boot:Maven的依赖的类加载器
    conf:
    Maven的全局配置文件(settings.xml),定制Maven的运行行为
    把C:Users64434.m2 epository作为本地仓库的路径,可以通过核心配置 文件来改
    lib:依赖jar包

    maven环境变量配置

    配置的目的:想要在任何地方都能够运行mvn命令
    配置两个一个Home
    一个home/bin
    在这里插入图片描述
    打开命令行输入mvn -v 查看结果

    Maven使用

    Maven规定了一套默认的项目格式

    1. src/main/java
      存放项目的.java文件
    2. src/main/resources
      存放项目资源文件,如spring、struts2配置文件,db.properties
    3. src/main/webapp
      存放jsp,css,image等文件
    4. src/test/java
      存放所有测试.java文件,如JUnit测试类
    5. src/test/resources
      测试资源文件
    6. pom.xml
      主要要写的maven配置文件
    7. target
      项目由maven自动输出位置

    创建第一个Maven项目

    确保idea安装了Maven插件

    创建Maven工程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    添加Maven依赖jar包
    在这里插入图片描述
    会自动把jar依赖到项目当中

    Maven仓库

    Maven所有的Jar包都是放到maven仓库当中
    在项目当中是对仓库jar包的引用

    Maven仓库
    本地仓库:本地存放jar的目录
    私服:私人搭建的服务器,一般在企业内部局域网使用
    中央仓库:Maven内置了一个远程仓库的地址,它就是中央仓库

    Maven找jar包的过程

    Maven查找引入jar包时, 会先到本地仓库当中查找,没有找到现到私服中找,也没有就去到远程中央仓库查找.
    找到后会下载到本地仓库,下次就不用到远程仓库了
    最终都会把jar包下载到本地仓库
    Maven工程最终引用的都是本地的jar包

    设置本地仓库目录地址
    默认本地仓库
    在这里插入图片描述
    修改本地仓库

    1. 把maven安装目录config中setting.xml复制一份到.m2文件夹下
      在这里插入图片描述
    2. 打开setting.xml修改本地仓库地址
      在这里插入图片描述
      阿里云镜像
    <mirror>
          <id>alimaven</id>
          <mirrorOf>central</mirrorOf>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        </mirror>
    

    Maven常用命令

    1. validate
      确保当前配置和 POM 的内容是有效的
    2. clean
      删除target目录下及其目录下的所有内容
    3. mvn compile
      将java文件编译成二进制放到target目录当中
    4. test
      运行测试用例
    5. package
      打包工程
    6. install
      把maven打成的包发布到本地仓库当中

    后一个执行时, 前面命令都会执行
    在这里插入图片描述

    Maven作用范围

    scope

    1. compile
      默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去
    2. test
      依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit
    3. runtime
      表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段
    4. provided
      打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作
    5. system
      从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径

    Maven创建Web工程

    注意事项

    generating project in batch mode 很慢,是应为maven获取archetype-catalog.xml导致
    用浏览器打开http://repo1.maven.org/maven2/archetype-catalog.xml很慢 解决方法:
    在用maven创建项目时在properties中添加 archetypeCatalog=internal,让maven读取本地配置即可

    tomcat插件

     <plugins>
          <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
              <port>8081</port>
              <path>/</path>
            </configuration>
          </plugin>
        </plugins>
    
  • 相关阅读:
    用C# WebClient类 提交数据
    a标签弹出 文件上载框
    C中 #define
    五款专业文本编辑器比较(转贴)
    IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结
    全球历史票房排行
    ASP调用带参数存储过程的几种方式
    VB6.0如何使用正则表达式
    实现VB与EXCEL的无缝连接
    初识Firebug 全文 — firebug的使用
  • 原文地址:https://www.cnblogs.com/joker-dj/p/13388731.html
Copyright © 2011-2022 走看看