今天也要加油鸭!|

Free152

园龄:4年4个月粉丝:1关注:0

📂Maven
🔖Maven
2023-03-15 10:47阅读: 464评论: 0推荐: 0

Maven学习笔记3:在idea中使用Maven

一、idea创建JavaSE项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、idea设置maven

idea中内置了maven ,一般不使用内置的,因为用内置修改maven的设置不方便。

使用自己安装的maven,需要覆盖idea中的默认的设置。让idea指定maven安装位置等信息。

Settings配置当前工程的设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

配置所有项目(新建项目)的Maven

配置所有项目(新建项目)的默认本地maven仓库的位置
在这里插入图片描述
之后的设置和Settings一样

三、使用idea中的maven工具窗口

我们使用idea来进行单元测试,顺便介绍idea的一些使用技巧
在这里插入图片描述
每一个测试方法都是可以独立执行,也可以全部执行

来看一下Maven工具窗口
在这里插入图片描述
在这里插入图片描述
依赖这个窗口可以直观的看到各个依赖之间的关系

四、idea创建JavaWeb项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建成功之后我们看到,这里的很多文件夹都是要手动去添加的
在这里插入图片描述
在这里插入图片描述
之后再修改pom.xml的一些设置,整理完之后就是如下这样
在这里插入图片描述

配置tomcat服务器

添加tomcat的配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
之前不适用Maven的时候我们需要手动导入依赖,使用Maven之后,我们只需要再pom.xml文件中添加依赖的坐标即可

<!-- servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>

添加新的依赖之后,本地仓库中没有下载这个依赖,可能会报红色错误,这时刷新一下pom.xml就可以了
在这里插入图片描述
或者点击Maven工具窗口中的刷新也可
在这里插入图片描述
之后就可以正常进行JavaWeb项目的开发了

五、依赖管理

依赖范围

依赖范围使用<scope>表示,他的值有compile、test、provided
表示依赖在maven构建项目的哪些阶段起作用
compile在编译以及编译之后的所有阶段都要用到
test只在测试阶段用得到
provided是提供者,不参与打包以及后面的步骤
在这里插入图片描述

六、Maven常用属性

maven属性设置

maven的属性设置在properties标签中进行

<properties>
<!-- maven构建项目使用编码,防止中文乱码 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 编译代码使用的jdk版本 -->
<maven.compiler.source>1.8</maven.compiler.source>
<!-- 运行代码使用的jdk版本 -->
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

Maven的全局变量

自定义的属性:

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

自定义全局变量一般是定义依赖的版本号,当项目中出现多个相同的版本号时,先使用全局变量定义,再使用${变量名}
例子:
在这里插入图片描述

资源插件

  1. 默认没有使用resources的时候,maven执行编译代码时,会把src/main/resources目录中的文件拷贝到target/classes目录中。
    对于src/main/java目录下的非java文件不处理,不拷贝到 target/classes目录中
  2. 我们的程序有需要把一些文件放在src/main/java目录中,当我在执行java程序时,
    需要用到src/ main/java目录中的文件。
    需要告诉maven 在mvnm compile src/main/java目录下的程序时,需要把文件一同拷贝到target/classes目录中。
    此时就需要在<build>中加入<resources>.
<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>

不加以上资源插件,编译后的target是这样的
在这里插入图片描述
添加资源插件之后,编译之后,将里面的a.properties和b.xml文件拷贝过去了,但是c.txt没有拷贝
在这里插入图片描述


本文作者:Free152

本文链接:https://www.cnblogs.com/free152/p/17217690.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Free152  阅读(464)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起