maven笔记

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

<dependency>
	<groupId>javax.servletgroupId>
	<artifactId>javax.servlet-apiartifactId>
	<version>3.1.0version>
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变量中
maven笔记_第1张图片
maven笔记_第2张图片

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

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

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

    <mirror>
      <id>nexus-aliyunid>
      <mirrorOf>centralmirrorOf>
      <name>Nexus aliyunname>
      <url>http://maven.aliyun.com/nexus/content/groups/publicurl>
    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详情



<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.0modelVersion>

  <groupId>com.testgroupId>
  <artifactId>test01artifactId>
  <version>1.0-SNAPSHOTversion>
  <packaging>warpackaging>

  <name>test01 Maven Webappname>
  
  <url>http://www.example.comurl>

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

  <dependencies>
    <dependency>
      <groupId>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.12  version>
      <scope>testscope>
    dependency>
  dependencies>

  <build>
    <finalName>test01finalName>
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.mavengroupId>
          <artifactId>tomcat6-maven-pluginartifactId>
          <version>2.2version>
        plugin>
        <plugin>
          <groupId>org.apache.tomcat.mavengroupId>
          <artifactId>tomcat7-maven-pluginartifactId>
          <version>2.2version>
        plugin>
      plugins>
  build>
project>

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


头信息复制用就行:

<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.0modelVersion>

  <groupId>com.testgroupId>
  <artifactId>test01artifactId>
  <version>1.0-SNAPSHOTversion>
  <packaging>warpackaging>

  <name>test01 Maven Webappname>
  
  <url>http://www.example.comurl>
project>

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

properties标签

  <properties>
    <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    <maven.compiler.source>11.0.11maven.compiler.source>
    <maven.compiler.target>11.0.11maven.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>junitgroupId>
      <artifactId>junitartifactId>
      <version>4.12  version>
      <scope>testscope>
    dependency>
    <dependency>
    ....
    dependency>
    ...
  dependencies>

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

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

 <build>
    <finalName>test01finalName>
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.mavengroupId>
          <artifactId>tomcat6-maven-pluginartifactId>
          <version>2.2version>
        plugin>
        <plugin>
          <groupId>org.apache.tomcat.mavengroupId>
          <artifactId>tomcat7-maven-pluginartifactId>
          <version>2.2version>
        plugin>
      plugins>
  build>

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

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

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

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

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

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

maven笔记_第26张图片
如果要添加自己想要使用的插件,一般官网上都会有对应的坐标标签进行复制。

记得还要添加servlet依赖。

    <dependency>
      <groupId>javax.servletgroupId>
      <artifactId>javax.servlet-apiartifactId>
      <version>3.0.1version>
    dependency>

4.启动项目
操作同之前
maven笔记_第27张图片
之后启动
maven笔记_第28张图片

你可能感兴趣的:(自己的一些学习笔记,maven,java)