Maven

视频

Maven

作用:自动添加依赖,项目的编译、测试、打包全自动
下载

详细安装方法 直接从第四步 在Idea上配置Maven工具 开始

目录结构

my-app
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   |    `-- com
    |   |        `-- mycompany
    |   |            `-- app
    |    `-recources    `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java
路径/文件作用
src/main主程序:包含java文件和资源文件
src/main/java应用程序/库源(程序包和包的Java文件)
src/main/resources应用程序/库资源(java程序中要使用的配置文件)
src/main/filters资源筛选器文件
src/main/webappWeb 应用程序源
src/test/java测试源
src/test/resources测试资源
src/test/filters测试资源筛选器文件
src/it集成测试(主要针对插件)
src/assembly程序集描述符
src/site网站
LICENSE.txt项目许可证
NOTICE.txt项目所依赖的库所需的通知和归属
README.txt项目自述文件

IDEA创建maven:
在这里插入图片描述

在这里插入图片描述

Maven–Runner–VM Options添加,加快创建速度:

-DarchetypeCatalog=internal

dom配置文件

详细配置说明
依赖下载,maven官网

<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/artifactId:version共同使这个软件的坐标成为全球唯一,好像IP地址-->
  <!-- groupid 倒写的网址,这个工程属于哪个公司 -->
  <groupId>org.javaweb</groupId>
  <!-- artifactid:具体的项目,理解为公司的产品-->
  <artifactId>webmaven</artifactId>
  <!-- 产品的版本号 -->
  <version>1.0-SNAPSHOT</version>
  <!-- 打包后的文件格式 ,可以直接在tomcat服务器中使用-->
  <packaging>war</packaging>

  <!-- 属性 -->
  <properties>
    <!-- maven构建项目时使用的编码方式 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- 编译代码使用的jdk版本 -->
    <maven.compiler.source>1.7</maven.compiler.source>
    <!-- 运行程序时jdk版本 -->
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>
  <!-- 依赖 -->
  <dependencies>
    <!--https://mvnrepository.com/在maven仓库查找-->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

全局变量

一般作为版本号使用,比如spring的多个依赖的版本号是一致的,如果要修改需要修改多次,使用变量来代替版本号:

  • 定义全局变量:
<properties>
		.
		<spring.version>4.5</spring.version>  
</properties>
  • 使用全局变量:${ 定义变量时的标签名 }
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${spring.version}</version>
      <scope>test</scope>
	</dependency>

非resource文件夹下资源的拷贝

  • 资源文件夹下的文件在编译时会自动拷贝到目标文件夹target下。
  • 有些文件不在资源文件夹,maven不会自动拷贝,所以需要使用以下插件,配置需要拷贝的文件。
  • 但是只定义了java目录下的配置文件拷贝,resources目录下的配置文件又不会自动拷贝,所以要定义两个resource
   <build>
    <resources>
      <resource>
        <directory>src/main/java</directory><!-- 文件所在目录 -->
        <includes>    <!-- 包括目录下的.properties,和.xml 文件都会扫描到 -->
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering><!-- 不启用过滤器 ,已经明确文件的类型 -->
      </resource>
      <resource>
        <directory>src/main/resources</directory><!-- 文件所在目录 -->
        <includes>    <!-- 包括目录下的.properties,和.xml 文件都会扫描到 -->
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering><!-- 不启用过滤器 ,已经明确文件的类型 -->
      </resource>
    </resources>
  </build>

创建web项目

新建模块,选择webapp
在这里插入图片描述

  • 在pom.xml中添加依赖:(一定要注意对应的版本)
    使用的tomcai是10.0.12版本,所以servlet和jsp的包也用这个版本,以防万一
  </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-servlet-api</artifactId>
      <version>10.0.12</version>
    </dependency>
    <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-jsp-api</artifactId>
      <version>10.0.12</version>
    </dependency>
  • 配置tomcat服务器
    选择带有exploded的选项
    在这里插入图片描述

获取Maven Resource文件夹的绝对路径

  • 类名使用当前类的类名或者固定一个类名都可以
  • 路径:在resource文件夹中的路径。例如:img/icon.png
String path = 类名.class.getClassLoader().getResource("路径").getFile()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值