在官网上下载Maven apache-maven-3.5.4
或者我这里提供了下载包
链接:https://pan.baidu.com/s/15eGHQ0e6zVag3Q-fxWmHWg
提取码:1234
https://mvnrepository.com/ 官网依赖查询
https://maven.aliyun.com/mvn/search 阿里云依赖查询
解压后 需要添加环境变量才能使用
MAVEN_HOME
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wrPFSZkj-1631330831750)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d2.jpg)]
还需要配置 JAVA_HOME
然后修改配置文件 在conf目录下 settings.xml 配置文件
添加仓库路径 自己创建个文件夹 用于jar包存放 否则默认就放在c盘了
<localRepository>E:\Maven\apache-maven-3.6.3-bin\kucun</localRepository>
settings.xml配置你直接粘贴下 ,安装上面教程修改下仓库位置就行了 ,在文章结尾
创建项目前先 配置Maven的设置
是maven安装的路径
1.
settings.xml是配置文件的路径
1.
是下载的jar包存放位置 会自动导入的 (只要settings.xml配置没问题)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UWsxIdlV-1631330831762)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d7.jpg)]
import Maven…是自动导包
automatically download 是自动下载 不然你每次 添加 Maven 的时候 还要刷新下载
VM options for importer 是下载速度 768兆 一般默认就行了 除非项目过大 打开太慢了 进行调大参数
以上配置完了开始创建项目 这里以webapp项目为例 其他的项目创建方式一样
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OnC8wKR3-1631330831764)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d8.jpg)]
Name项目名称-必须是英文否则pom.xml报错 ->项目倒入失败
在idea 中自动生成 不用你写了
Groupld 工件组的名称,通常是一个公司域名倒置
Artifactld 组内工件的名称,通常是项目名称
Version 是版本号
配置项目的Maven
这里特别提醒
如果这里不选择 自己的 Maven 而是默认的话 那么肯定会创建项目失败的 所以
一定要选自己的 Maven安装地址, 配置文件 和 仓库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJOSZpVY-1631330831770)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d32.jpg)]
然后就可以了 但是 他 在右下角 会弹出 选项框 选择 第二个
Enable Auto import 就行了(允许自动导入)) 别选错了 否则你要删除 ,重新在来一遍了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IT9yim0x-1631330831771)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d12.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UE26l219-1631330831772)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d13.jpg)]
直接复制到
pom.xm文件
<dependencies> 标签内部
就行了 然后他就会自动下载了 如果没有下载 爆红了那么就刷新一下或者删除在添加一下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AaP9AUu8-1631330831773)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d14.jpg)]
看软件下面有没有 进度条在下载东西 下载完后 只要不暴红了 那么 jar就下载到 你的本地仓库里了
如果还不行那么 就点击下载 然后在刷新
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SQNV4K3V-1631330831774)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d15.jpg)]
当将所有需要的jar包 下载完了 这时候 需要 用到 一个工具
直接搜索 然后 下载就行了
下载完成后重启 idea 否则没有效果 然后 打开 pom.xml文件的时候 下面就会出现
左边的是文本 右边的是工具
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TNTvTBhq-1631330831777)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d19.jpg)]
当将所有的冲突的 jar包给 解决了后 打开indea 提供的 jar关系视图 看看
文件内右键
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7LyMVf0u-1631330831779)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d21.jpg)]
可以看到 没有 任何 红线 表示 jar的冲突解决完了
Maven Helper 工具 有时候会被 idea 给 干掉 不能使用了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sWGueSjH-1631330831780)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d22.jpg)]
这时候 不要慌 将 这个工具 给删除 了 然后重新下载 一遍 就行了重启idea就行了
在idea中直接是可以使用的 无需打命令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-92LZ65II-1631330831782)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d24.jpg)]
在dos 中需要cd 进入到 项目的 根目录 之后操作命令
打包:mvn package
编译:mvn compile
清空:mvn clean(清除编译后目录,默认是target目录)
安装jar包到本地仓库中:mvn install
这里注意的是如果 ,发现运行 mvn compile失败
第一步:mvn install (把当前项版本等安装到本地仓库 org\example 目录下)
第二步:mvn compile
反正就是只要是失败了就先 mvn install 然后在说
有两种使用方案 第一种是使用IDEA自带的Tomcat 来启动(常用) 第二种是使用Maven里的Tomcat7来启动
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EpwdWTJr-1631330831782)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d25.jpg)]
然后弹出窗口 配置就行了
注意事项 他默认是war 项目 但是 我们需要热部署 所以不能用这个项目
点击 - 删除掉 然后 +号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6jz3ILlQ-1631330831785)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d27.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sNX3pLCy-1631330831785)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d28.jpg)]
然后就Apply 引用配置 就行了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9QoPEC9-1631330831788)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d41.jpg)]
然后会出现一个这样的窗口
画红x的不要去点 这个是自动装配项目 最好是手动自己去配置
然后就Apply 引用配置 就行了
为啥不使用Tomcat8呢 反正我是没有成功过各种问题
使用前需要在pom.xml中的<build>里添加一些配置才能使用
<!--tomcat7 热部署命令 : tomcat7:run -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/</path>
<port>8080</port>
<server>tomcat7</server>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
然后
然后 你还需要 添加 Selvet 的 依赖 以及 jsp 的依赖 否则有些功能可能无法使用的
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SzSqhjc5-1631330831792)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d44.jpg)]
tomcat7:run
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KeVnSx4O-1631330831793)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d46.jpg)]
然后在启动Maven前需要将 之前的 target 文件删除 然后重新配置
先执行clean 等清空 target 然后 install进行 重新加载 target 和 将项目依赖重新生成到本地仓库里
完成后 在启动Maven 启动按钮就是配置旁边的 绿色小三角 启动后就变成了 绿色圆三角了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GHE88Vx0-1631330831795)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d47.jpg)]
他会默认加载你web.xml里配置的默认启动项
<!-- 默认启动文件-->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
将此网址复制到游览器的url上就行了
如果在启动过程中出现了
Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run
你的web.xml路径有问题 或者其他配置文件没配置好 也会导致Tomcat启动失败
1.
如果之前就能启动但是在修改后就不能启动了那么需要 将项目clean 清理一下 让在重新部署下install
如果出现clean清理失败的情况那么 一定是有文件被占用 到任务管理器里详细信息将全部的java.exe给结束了 然后你在试试
<groupId>org.example</groupId> // 项目版本在仓库中 储存 位置
<artifactId>day-Maven</artifactId> //项目名称
<version>1.0-SNAPSHOT</version> //版本号
<packaging>war</packaging> //什么模式 也就是最后打包成 什么类型的 (war / jar)
<properties> //将项目 编译 的编码格式 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> //使用jdk 1.8 来编译 <maven.compiler.source>1.8</maven.compiler.source> //使用jdk 1.8 //来编译 <maven.compiler.target>1.8</maven.compiler.target> </properties>
坐标 解析 :
<dependencies>
<dependency>
<groupId>junit</groupId> //jar 名称
<artifactId>junit</artifactId> //存放路径
<version>4.11</version> //版本号
<scope>provided</scope> //权限
</dependency>
</dependencies>
<scope> 权限:一般就用 compile或者provided
/*/compile(默认) //*全局都能使用这个jar依赖而且会将jar打包到项目里
provided 全局都能使用这个jar 不会将jar 打包到项目里
还有一个test 权限test范围依赖 在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。就是是在测试目录(绿色的)下才能使用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WDDNgRM1-1631330831796)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d30.jpg)]
所有为了避免 不必要的麻烦还是 不要使用了
……………………还有其他权限 这里就不说了 基本用不到
<build> 节点下的 坐标 这些 都是Maven 中的插件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSwPe1Oq-1631330831797)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d34.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NbDTQqnG-1631330831798)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d31.jpg)]
当然也可以添加 其他的插件 这里就不多说 了 如果用到什么插件 到网上找就行了
如果这里报错 肯定就是 插件 坐标 写错误了
如果出现 创建失败 没有创建出指定的模板结构
比如webapp模板 没有这些机构的话
那么肯定就是配置文件 或者 仓库路径 的问题 请到idea 的设置里将路径填好
报错信息
Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate (default-cli) :The desired archetype does not exist (org.apache.maven.archetypes:maven-archetype-webapp:RELEASE)
解决办法
报错的文件可能不相同 大致是以上这种报错的那么就进入maven仓库中 找到错误信息上org.apache.maven.archetypes:maven-archetype-webapp 这个文件给他删除了然后重新创建项目就行了
先进入官网找到对应版本的jar看看那个jar能手动下载吗??
很多人钻牛角尖 这个jar不能下载 他还一直在哪里添加这个jar的Maven坐标 ,然后开始喷子模式
1.
开启了离线模式了
还有注意这个地方 别不小心点了 这个是和上图那个配置是关联的
还有时候 添加好了 但是 下载的是一个空目录 在Maven仓库里面就一个文件或者2个文件 而且一直爆红 解决办法:进入Maven仓库里将这个版本文件夹内所有文件删除 然后 将坐标删除 刷新 在添加进入 刷新maven 就好了
如果还是报错 估计就是这个版本不能用 换一个试试
如果创建 Maven web 成功了发现 这里错误了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z8OVppgy-1631330831802)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d38.jpg)]
先检测配置里 有没有设置好 (有可能你配置了但是 后期因为xx原因恢复默认了) 所以需要你去检测下
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3gqoqLsK-1631330831803)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d48.jpg)]
以上没有问题那么 就是 pom.xml文件内 <build> 标签内的内容不全 或者错误
将下面的代码
<build>
<finalName>项目名称</finalName>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
替换就行了 记得把 <finalName> 项目名称添加一下
如果这里面错误 那么 不用想了 肯定是jar包下载失败了 或者找不到此jar了
到Maven仓库里找到对应 报错目录 给他删除就行了 然后在重新在网上找一个对应的jar依赖坐标 添加一下
1.test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖
2.compile范围指的是编译范围有效,在编译和打包时都会讲依赖存储进去
3.provided依赖:在编译和测试范围有效,最后生成war时不会加入,
一般默认为test 给他换成 provided就可以了
原因是因为maven生成的web.xml版本太低了,2.5之前web.xml文件中的头定义中,el表达式默认是忽略不解析的,故需要显示声明解析el表达式
修改为 :
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
</web-app>
<?xml version="1.0" encoding="UTF-8" ?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--自定义本地仓库路径-->
<localRepository>D:\Maven\kucun</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
<profiles>
</profiles>
</settings>
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_45203607/article/details/120235269
内容来源于网络,如有侵权,请联系作者删除!