day24 --> (Maven不完整版笔记,tomcat插件建议使用7,别用8)
1、概念:
可以简单地理解为一个 项目管理工具
2、目录结构简介 :
bin --> 可执行文件 (核心文件 mvn)
boot --> maven 的启动器
conf --> 配置文件 (核心文件 settings.xml )
lib --> 依赖的 jar 包
配置 maven 的环境变量 :【目的:在任何盘符、也就是任何目录下都能启动 mvn 】
命令行输入 : mvn -v 出现如下信息表示maven环境配置成功
3、 Maven 仓库介绍:
1、本地仓库 : 用来存储从远程仓库或中央仓库下载的插件和 jar 包,项目使用一些插件或 jar 包,优先从本地仓库查找
2、远程仓库 : 如果本地需要插件或者 jar 包,本地仓库没有,默认去远程仓库下载,远程仓库可以在互联网中也可以在局域网中
3、中央仓库【全球唯一,maven团队维护】 : 在 maven 软件中内置一个远程仓库地址,它是中央仓库,服务于整个互联网
setting.xml 配置文件 :
由于中央仓库的服务器位于国外,导致下载 jar 包的速度非常慢,所以可以通过 阿里云 的私服
在 mirrors 中添加标签
<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
4、Maven工程的目录结构:
5、 Maven常用命令:
1、mvn compile --> 编译【compile中文意思为编译】,将 Java 文件编译成字节码文件,会生成一个 targer 文件
2、mvn clean --> 将编译生成的字节码文件,即 target 文件删除掉
3、mvn package --> 将 Java 文件编译成字节码文件,会生成一个 targer 文件,并将 Java 文件打包成一个 war 包【存在于 target 目录中】
4、mvn install --> 将对应的项目安装到本地仓库里边去
6、 Maven指令的生存周期 :
7、Idea 配置 Maven 环境:
8、Maven的坐标 【被 Maven 管理的资源的唯一标识】
groupId : 组织名称
artifacted : 模块名称
version : 版本号
eg :
含义 : javax目录下的【一个 "." 标识一层目录】servlet 目录下的 jsp 目录,jsp 目录下的 jsp-api 下的2.0 --> jsp-api-2.0.jar
即:通过 坐标 包可以找到对应的 jar 包。
2022版Idea创建Maven项目【不使用骨架】:
使用骨架创建Java项目:
---------------------------------------------------------------------------------------------
不使用骨架写Java代码:
达到效果:直接点击运行即可实现删除target文件
---------------------------------------------------------------------------------------------
9、导入依赖 jar 包
10、设置 maven 编译插件
--------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------
11、Idea创建web项目 -- 不使用骨架
这篇不完整的笔记就到此为止吧,由于作为新手,我的Idea版本(2022)和老师的Idea(2018)版本不一样,并且这节课是早先的时候老师用的tomcat7版本,导致很多地方给我整的真实一头雾水,万一笔记做错了岂不坏事,再加上对于配置文件的生疏,今晚到此为止吧,大脑已经是一滩死水了。本来已经不打算发布这篇笔记了,但是想想前边又记了那么多,也不忍心将其沦为一片废纸,明天继续加油吧...
---------------------------------------------------------------------------------------------
在 src 下创建目录,名为 :webapp 【必须命名为webapp】
pom.xml中的所有配置 :
说明:如果想要使用 tomcat8 需要重新下载相关的配置文件及 jar 包,时间较长(约20分钟)
<?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>org.example</groupId> <artifactId>maven_web_1</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <build> <plugins> <!--tomcat8插件,用于启动web项目--> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat8-maven-plugin</artifactId> <version>3.0-r1655215</version> </plugin> </plugins> </build> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <pluginRepositories> <pluginRepository> <id>alfresco-public</id> <url>https://artifacts.alfresco.com/nexus/content/groups/public</url> </pluginRepository> <pluginRepository> <id>alfresco-public-snapshots</id> <url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> </snapshots> </pluginRepository> <pluginRepository> <id>beardedgeeks-releases</id> <url>http://beardedgeeks.googlecode.com/svn/repository/releases</url> </pluginRepository> </pluginRepositories> </project>
-----------------------------------------------------------------------------------------------------
创建 web 项目使用骨架 :
pom.xml中的配置和不使用骨架的一样
--------------------------------------------------------------------------
便于快捷启动和调试:
-------------------------------------------------------------------------