IDEA-Maven使用

x33g5p2x  于10个月前 转载在 Java  
字(10.7k)|赞(0)|评价(0)|浏览(190)

Maven 下载

在官网上下载Maven apache-maven-3.5.4

或者我这里提供了下载包

链接:https://pan.baidu.com/s/15eGHQ0e6zVag3Q-fxWmHWg
提取码:1234

https://mvnrepository.com/ 官网依赖查询

https://maven.aliyun.com/mvn/search 阿里云依赖查询

Maven环境配置

解压后 需要添加环境变量才能使用

MAVEN_HOME

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wrPFSZkj-1631330831750)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d2.jpg)]

还需要配置 JAVA_HOME

Maven的settings.xml配置文件

然后修改配置文件 在conf目录下 settings.xml 配置文件

添加仓库路径 自己创建个文件夹 用于jar包存放 否则默认就放在c盘了

<localRepository>E:\Maven\apache-maven-3.6.3-bin\kucun</localRepository>

settings.xml配置你直接粘贴下 ,安装上面教程修改下仓库位置就行了 ,在文章结尾

在IDEA中创建Maven项目

创建项目前先 配置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 就行了(允许自动导入)) 别选错了 否则你要删除 ,重新在来一遍了

获取jar的Maven依赖坐标信息

https://mvnrepository.com/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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依赖冲突检测工具

当将所有需要的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就行了

Maven dos命令

在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 然后在说

Maven中使用Tomcat

有两种使用方案 第一种是使用IDEA自带的Tomcat 来启动(常用) 第二种是使用Maven里的Tomcat7来启动

使用IDEA自带的Tomcat

  1. 随便找一个index.jsp 文件 右键

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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 引用配置 就行了

  1. 或者 点击IDEA右上角

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9QoPEC9-1631330831788)(http://img.huitoushian.cn/博客/文章/IDEA_Maven使用/d41.jpg)]

然后会出现一个这样的窗口

画红x的不要去点 这个是自动装配项目 最好是手动自己去配置

然后就Apply 引用配置 就行了

使用Maven中插件Tomcat7

为啥不使用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给结束了 然后你在试试

pom.xml文件内容解析

<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)]

当然也可以添加 其他的插件 这里就不多说 了 如果用到什么插件 到网上找就行了

如果这里报错 肯定就是 插件 坐标 写错误了

Maven可能出现的错误解决方法

Mvan模板创建失败解决办法

如果出现 创建失败 没有创建出指定的模板结构

比如webapp模板 没有这些机构的话

那么肯定就是配置文件 或者 仓库路径 的问题 请到idea 的设置里将路径填好

创建Maven 项目出现的错误和报错信息

报错信息

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 这个文件给他删除了然后重新创建项目就行了

Maven中jar依赖下载失败解决办法

先进入官网找到对应版本的jar看看那个jar能手动下载吗??

很多人钻牛角尖 这个jar不能下载 他还一直在哪里添加这个jar的Maven坐标 ,然后开始喷子模式
1.
开启了离线模式了

还有注意这个地方 别不小心点了 这个是和上图那个配置是关联的

还有时候 添加好了 但是 下载的是一个空目录 在Maven仓库里面就一个文件或者2个文件 而且一直爆红 解决办法:进入Maven仓库里将这个版本文件夹内所有文件删除 然后 将坐标删除 刷新 在添加进入 刷新maven 就好了

如果还是报错 估计就是这个版本不能用 换一个试试

Plugins 错误

如果创建 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> 项目名称添加一下

Dependencies 错误

如果这里面错误 那么 不用想了 肯定是jar包下载失败了 或者找不到此jar了

到Maven仓库里找到对应 报错目录 给他删除就行了 然后在重新在网上找一个对应的jar依赖坐标 添加一下

@Test无法使用

1.test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖

2.compile范围指的是编译范围有效,在编译和打包时都会讲依赖存储进去

3.provided依赖:在编译和测试范围有效,最后生成war时不会加入,

一般默认为test 给他换成 provided就可以了

jstl和EL语言无法解析解决办法

原因是因为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>

settings.xml

<?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>

相关文章