maven笔记

maven简介
maven主要服务于java平台的项目构建,依赖管理和项目信息管理。
项目构建。通过maven我们可以更加快速的进行项目的构建。
依赖管理系统
使用groupId、artifactId、version组成的Coordination(坐标)唯一标识一个依赖进行对jar包的管理,我们只需要修改配置文件即可完成对jar包的更新和配置。
任何基于maven构建的项目自身也必须定义这三个属性。

<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.1.0</version>
</dependency>

groupId:一般用于定义当前maven项目隶属的实际项目-公司名称。
artifactId:项目中的一个maven模块-项目名。
version:则是当前maven项目的版本。

maven统一jar包依赖,构建多模块项目,统一项目目录结构,一致的构建模型和插件机制。

maven的安装
jdk要求1.7以上
下载地址:https://maven.apache.org/download.html
配置环境变量
将maven解压,将maven的根目录配置到系统环境变量中的MAVEN_HOME中,将bin目录配置到path变量中
在这里插入图片描述
在这里插入图片描述

打开dos窗口,输入mvn -v显示maven版本就是配置成功。
maven的目录结构

*src**main****java
*	*		*resources			
*	*test****java
*			*resources	
*
*pom.xml
目录作用
/存放pom.xml和所有子目录
src/mian/javajava源代码
src/main/resources项目资源
src/est/java测试java源代码
src/est/resources测试所使用的资源

修改settings.xml来配置maven
setting.xml文件有两个位置,一个是用户目录下单.m文件夹中的settings.xml,另一个是安装根目录下的conf文件夹中.
这里打开安装根目录下的conf文件夹;
更改本地仓库路径:
在这里插入图片描述
一般会使用m2/repository这条路径进行保存。
更改镜像:
这里使用阿里云的镜像,下载更新依赖时,更加快速。
在这里插入图片描述

    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

maven常用命令
maven命令格式如下:

mvn [plugin-name]:[goal-name]

执行plugin-name插件的goal-name命令目标。

命令描述
mvn -version显示当前maven版本
mvn clean清理项目生产的临时文件,一般是模块下的target目录
mvn compile编译源代码,一般是编译模块下的src/main/java目录,会生成一个target目录
mvn package项目打包工具,会在模块下的target目录生成jar或者war等文件
mvn test测试命令
mvn install将打包的jar或者war包放置到本地仓库中
mvn deploy将打包的文件发布到远程仓库
mvn site生成项目相关信息的网站
mvn eclipse:eclipse将项目转化为eclipse项目
mvn dependency:tree打印出项目的整个依赖树
mvn archetype:generate创建出maven的普通java项目
mvn tomcat7:run在tomcat容器中运行web应用
mvn jetty:run调用Jetty插件的Run目标在Jetty Servlet容器中启动web应用

执行mvn命令需要定位到项目中pom.xml所在的文件夹。

pom.xml详情

<?xml version="1.0" encoding="UTF-8"?>

<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.test</groupId>
  <artifactId>test01</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>test01 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11.0.11</maven.compiler.source>
    <maven.compiler.target>11.0.11</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12  </version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>test01</finalName>
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat6-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
  </build>
</project>

说明xml版本,与编码方式:

<?xml version="1.0" encoding="UTF-8"?>

头信息复制用就行:

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

基本信息:

<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.test</groupId>
  <artifactId>test01</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>test01 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>
</project>

project标签:放置整个项目信息。
modelVersion标签:声明项目描述符遵循哪一个POM模型版本。模型本身的版本很少改变,虽然如此,但它仍然是必不可少的,这是为了当Maven引入了新的特性或者其他模型变更的时候,确保稳定性。
packaging标签:打包类型。
name:项目名称。maven生产文档用。
url:项目主页的URL,maven生产文档用。

properties标签

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11.0.11</maven.compiler.source>
    <maven.compiler.target>11.0.11</maven.compiler.target>
  </properties>

作为全局变量使用。通过${project.build.sourceEncoding}来使用project.build.sourceEncoding的值,这里是UTF-8。project.build.sourceEncoding设置了maven项目的编码格式。
maven.compiler.source与maven.compiler.target是指定java编译的版本。
依赖关系层:

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12  </version>
      <scope>test</scope>
    </dependency>
    <dependency>
    ....
    </dependency>
    ...
  </dependencies>

dependencies标签:放置项目的所有依赖。
dependency标签:代表独立的一个依赖的项目。
scope标签:依赖项的适用范围。

build标签描述了如何编译及打包项目,具体的编译和打包工作是通过其中的plugin配置来实现的。

 <build>
    <finalName>test01</finalName>
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat6-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
  </build>

finalName:打包生成的文件的名字。
plugins:设置构建过程中需要的插件。

使用idea构建java项目
1.开始创建maven项目
在这里插入图片描述
2.设置jdk和maven项目模板
在这里插入图片描述
3.设置groupId,ArtifactId
在这里插入图片描述
4.设置settings文件路径,和仓库路径。在这里插入图片描述
5.设置项目名称
在这里插入图片描述
之后等待项目创建,下载资源。
在这里插入图片描述
这里需要点击一下。
在pom.xml文件中修改一下jdk的版本,设置一下单元测试的版本在这里插入图片描述
之后删除pluginManagement标签内的内容。

6.这边可以实现maven命令可视化操作。
在这里插入图片描述
创建后的项目目录有时候会不全,需要自己手动创建一下。创建好的目录,还需要自己手动设置一下。放置java源码就是Sources Root,放置资源文件就是Resources Root。在这里插入图片描述
当然也可以在project stucture中设置。
在这里插入图片描述
7.编译项目
添加配置
在这里插入图片描述
点击+,选择maven。
在这里插入图片描述
1.设置命令的名称
2.是项目的目录
3.执行的命令
在这里插入图片描述
点击进行编译
在这里插入图片描述
之后生成target目录,存放编译后的文件。
在这里插入图片描述
8.打包项目
添加新的配置
在这里插入图片描述
步骤与之前相同。
在这里插入图片描述
点击运行。
在这里插入图片描述
在target目录下会生成对应的jar包或者war包。
在这里插入图片描述
这里可以自由切换maven命令或者配置新的maven命令
在这里插入图片描述

使用idea构建javaweb项目
1.创建maven项目
和之前类似,这里选择webapp的模板。
在这里插入图片描述
2.项目的结构
步骤和之前的差不多,这里看webapp项目的目录结构。
在这里插入图片描述
多了个webapp的文件夹,这里用来放置前端项目。
缺失的文件夹还是需要自己创建。
在这里插入图片描述

3.添加web部署的插件
在build标签中添加plugins标签。
Tomcat插件,在官网上可以下载标签。
https://tomcat.apache.org/
在这里插入图片描述
自己选择想要的版本,这里选择2.2
在这里插入图片描述
之后复制,添加到本地的pom.xml文件中去
在这里插入图片描述

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat6-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.2</version>
        </plugin>
      </plugins>
    </pluginManagement>

在这里插入图片描述
如果要添加自己想要使用的插件,一般官网上都会有对应的坐标标签进行复制。

记得还要添加servlet依赖。

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
    </dependency>

4.启动项目
操作同之前
在这里插入图片描述
之后启动
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值