maven基础知识(三)

第三部分:

1.在idea中设置maven ,让idea和maven结合使用。

idea中内置了maven ,一般不使用内置的, 因为用内置修改maven的设置不方便。
使用自己安装的maven, 需要覆盖idea中的默认的设置。让idea指定maven安装位置等信息

配置的入口 :配置当前工程的设置, file--settings ---Build, Excution,Deployment--Build Tools
               --Maven 
                       Maven Home directory: maven的安装目录
                        User Settings File :  就是maven安装目录conf/setting.xml配置文件
                        Local Repository :    本机仓库的目录位置

                   --Build Tools--Maven--Runner  
                      VM Options : archetypeCatalog=internal
                      JRE: 你项目的jdk


                archetypeCatalog=internal , maven项目创建时,会联网下载模版文件,
                      比较大, 使用-DarchetypeCatalog=internal,不用下载, 创建maven项目速度快。



           配置以后新建工程的设置, file--other settings--Settings for New Project

2.使用模版创建项目

1)maven-archetype-quickstart : 普通的java项目
2)maven-archetype-webapp : web工程

第四部分

1依赖范围, 使用scope表示的。
scope的值有 compile, test, provided ,默认是compile
scope:表示依赖使用的范围,也就是在maven构建项目的那些阶段中起作用。
maven构建项目 编译, 测试 ,打包, 安装 ,部署 过程(阶段)

   junit的依赖范围是 test
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>a</groupId>
      <artifactId>b</artifactId>   b.jar
      <version>4.11</version>
    </dependency>


     <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>          servlet.jar
      <scope>provided</scope> 提供者
    </dependency>

     
   你在写项目的中的用到的所有依赖(jar ) ,必须在本地仓库中有。
    没有必须通过maven下载, 包括provided的都必须下载。

    你在servlet需要继承HttpServlet( provided) , 你使用的HttpServlet是maven仓库中的。

    当你的写好的程序, 放到 tomat服务器中运行时, 此时你的程序中不包含servlet的jar
    因为tomcat提供了 servlet的.jar

第五部分:maven常用操作

1.maven的属性设置

 <properties> 设置maven的常用属性

2.maven的全局变量

 自定义的属性,1.在<properties> 通过自定义标签声明变量(标签名就是变量名)
                 2.在pom.xml文件中的其它位置,使用 ${标签名} 使用变量的值

自定义全局变量一般是定义 依赖的版本号, 当你的项目中要使用多个相同的版本号,
先使用全局变量定义, 在使用${变量名}

3.资源插件

  <build>
    <resources>
    <resource>
    <directory>src/main/java</directory><!--所在的目录-->
    <includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
    <include>**/*.properties</include>
    <include>**/*.xml</include>
    </includes>
    <!—filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了 -->
    <filtering>false</filtering>
    </resource>
    </resources>
  </build>

  作用: mybatis课程中会用到这个作用

注: 默认没有使用resources的时候, maven执行编译代码时, 会把src/main/resource目录中的文件拷贝到target/classes目录中。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。