maven入门使用

一、单独使用maven

1)下载、配置环境变量、配置本地仓库路径、设置jdk支持版本参考文档

2)maven创建工程的主要路径及文件信息:

  --工程名

      --src

        --main/java    存放java代码文件路径

        --main/resources  存放配置文件路径

        --test/java   存放测试代码路径(依赖junit包)

        --test/resources  存放测试代码配置文件路径

      --pom.xml  maven主要配置信息,存放了  仓库资源的下载路径、

                          maven模型的版本、

                          groupId组织id、

                         artifactId项目名称,也是模块名称,对应 groupId 中 项目中的 子项目、

                          version项目版本号。如果项目还在开发中,是不稳定版本, 通常在版本后带-SNAPSHOT 

                        packaging 打包格式,默认是jar包,如果是web包可以指定war格式

                        dependencies 和 dependency 依赖信息,指定本项目依赖的包信息

                        等等...

3)maven的常用命令(在pom.xml所在的目录下执行)

  mvn -v 查看版本信息

  mvn  clean 清理编译数据(主要是值target数据)

  mvn  compile 编译数据,仅编译main下的java数据生成.class文件存放到target路径下

  mvn  test-compile 编译测试数据,仅编译test下的java路径下的测试代码数据

  mvn  test 执行测试脚本

  mvn  package 打包,根据pom.xml下的指定的打包格式进行打包(如果没配置默认是打成jar包)

  mvn  install  将生成的jar包安装到本地仓库  

  mvn deploy 部署主程序(会把本工程打包,按照本工程的坐标保存到本地库中,并且还会保存到私服仓库中。 还会自动把项目部署到 web 容器中)。 

4)一个 Maven 项目正常运行需要其它项目的支持,Maven 会根据坐标自动到本地仓库中进行查找。 对于程序员自己的 Maven 项目需要进行安装,才能保存到仓库中。 

  不用 maven 的时候所有的 jar 都不是你的,需要去各个地方下载拷贝,用了 maven 所有的 jar 包都是你的,想 要谁,叫谁的名字就行。maven 帮你下载。
  所以一个项目如果要依赖其他jar包,使用maven,需要在pom.xml下指定依赖项

  pom.xml加入依赖的方式: 

<dependencies>

<!-- 单元测试 -->
<dependency>
     <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
</dependency>

</dependencies>

二、在idea中使用maven

  1. 配置idea中本地maven数据,参照文档配置当前工程和其他新建工程的build下的maven信息即可。runner下可以配置-DarchetypeCatelog = internal

  2. 创建maven项目,新增模块的时候选择maven,可以选择创建模版,如java项目是maven  archetype-quickstart,web项目是maven archetype-webapp

  3. 创建的maven项目会有目录确实,需要手工增加:

    按照 maven archetype 原型创建的 maven web 工程缺少 maven 项目的完整结构:src-main-java / resources,src-test-java/resources,所以需要我们手动添加文件目录。

    File -> Project  Structure, 选择Modules:右边找到java这层机构,在上面有个“Mask as”, 点下Sources, 表示这里面是源代码类。  

    pom.xml 添加依赖 (依赖的范围:compile、test、provided,默认采用 compile)

<dependency>

<groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId><version>2.1</version>
<scope>provided</scope>
</dependency>

  全局变量的使用:

  pom.xml中properties标签下添加自定义标签,标签里的值就是全局变量的值,其他标签中使用${标签名}的方式即可以使用properties中设置的这个全局变量的值

  资源插件

<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>

posted @ 2021-02-18 19:25  渐行、渐远  阅读(99)  评论(0)    收藏  举报