IntelliJ IDEA-Maven使用教程

编程入门 行业动态 更新时间:2024-10-25 00:28:08

Maven 下载

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

或者我这里提供了下载包

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

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

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

Maven环境配置

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

MAVEN_HOME

还需要配置 JAVA_HOME

Maven的settings.xml配置文件

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

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

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

settings.xml配置你直接在本文最下面(文章结尾)粘贴下 ,按照上面教程修改下仓库位置就行了

在IDEA中创建Maven项目

创建项目前先 配置Maven的设置

  1. 是maven安装的路径

  2. settings.xml是配置文件的路径

  3. 是下载的jar包存放位置 会自动导入的 (只要settings.xml配置没问题)

import Maven…是自动导包

automatically download 是自动下载 不然你每次 添加 Maven 的时候 还要刷新下载

VM options for importer 是下载速度 768兆 一般默认就行了 除非项目过大 打开太慢了 进行调大参数

以上配置完了开始创建项目 这里以webapp项目为例 其他的项目创建方式一样

Name项目名称-必须是英文否则pom.xml报错 ->项目倒入失败

在idea 中自动生成 不用你写了

Groupld 工件组的名称,通常是一个公司域名倒置

Artifactld 组内工件的名称,通常是项目名称

Version 是版本号

配置项目的Maven

这里特别提醒

如果这里不选择 自己的 Maven 而是默认的话 那么肯定会创建项目失败的 所以

一定要选自己的 Maven安装地址, 配置文件 和 仓库

然后就可以了 但是 他 在右下角 会弹出 选项框 选择 第二个

Enable Auto import 就行了(允许自动导入)) 别选错了 否则你要删除 ,重新在来一遍了

获取jar的Maven依赖坐标信息

https://mvnrepository/

直接复制到

pom.xm文件

<dependencies> 标签内部

就行了 然后他就会自动下载了 如果没有下载 爆红了那么就刷新一下或者删除在添加一下

看软件下面有没有 进度条在下载东西 下载完后 只要不暴红了 那么 jar就下载到 你的本地仓库里了

如果还不行那么 就点击下载 然后在刷新

jar依赖冲突检测工具

当将所有需要的jar包 下载完了 这时候 需要 用到 一个工具

直接搜索 然后 下载就行了

下载完成后重启 idea 否则没有效果 然后 打开 pom.xml文件的时候 下面就会出现

左边的是文本 右边的是工具

当将所有的冲突的 jar包给 解决了后 打开indea 提供的 jar关系视图 看看

文件内右键

可以看到 没有 任何 红线 表示 jar的冲突解决完了

Maven Helper 工具 有时候会被 idea 给 干掉 不能使用了

这时候 不要慌 将 这个工具 给删除 了 然后重新下载 一遍 就行了重启idea就行了

Maven dos命令

在idea中直接是可以使用的 无需打命令

在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 文件 右键

然后弹出窗口 配置就行了

注意事项 他默认是war 项目 但是 我们需要热部署 所以不能用这个项目

点击 - 删除掉 然后 +号

然后就Apply 引用配置 就行了

  1. 或者 点击IDEA右上角

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

画红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>


tomcat7:run

然后在启动Maven前需要将 之前的 target 文件删除 然后重新配置

先执行clean 等清空 target 然后 install进行 重新加载 target 和 将项目依赖重新生成到本地仓库里

完成后 在启动Maven 启动按钮就是配置旁边的 绿色小三角 启动后就变成了 绿色圆三角了

他会默认加载你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
  1. 你的web.xml路径有问题 或者其他配置文件没配置好 也会导致Tomcat启动失败

  2. 如果之前就能启动但是在修改后就不能启动了那么需要 将项目clean 清理一下 让在重新部署下install

如果出现clean清理失败的情况那么 一定是有文件被占用 到任务管理器里详细信息将全部的java.exe给结束了 然后你在试试

pom.xml文件内容解析

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache/POM/4.0.0"
         xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache/POM/4.0.0 http://maven.apache/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

<!--    项目版本在仓库中 储存 位置-->
    <groupId>org.example</groupId>  
	<!--   项目名称-->
    <artifactId>pom-demo</artifactId>
	<!--   项目版本号-->
    <version>1.0-SNAPSHOT</version>
		<!-- 最后打包成什么类型的 (war/ jar)-->
    <packaging>jar</packaging>
		<!--  全局属性 -->
	<properties>
			 <!--  将项目 编译 的编码格式 -->
		 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
			 <!--  使用jdk 1.8  来编译 -->
		 <mavenpiler.source>1.8</mavenpiler.source>  
			 <!--  使用jdk 1.8 来编译 -->
		 <mavenpiler.target>1.8</mavenpiler.target>       
	</properties>
	
	
	    <!--    依赖管理,添加在其中的依赖会被导入-->
    <dependencies>
	
        <dependency>
			    <!--    jar 名称 -->
            <groupId>commons-lang</groupId>
			   <!--    存放路径(仓库/xx) -->
            <artifactId>commons-lang</artifactId>
			   <!--    jar 版本号 -->
            <version>2.6</version>
			<!--    作用范围 -->
			<scope>provided</scope>    
        </dependency>
		
		
    </dependencies>
    <!--    依赖管理,这里配置了之后不会实际导入,只是指定了导入版本,其子模块就可以直接使用而不需要指定版本了-->
    <dependencyManagement>

    </dependencyManagement>
    <!--    maven编译和打包处理-->
    <build>
        <!--        插件配置,将项目打包成一个可执行的jar包,并将依赖打包进去-->
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!-- 此处指定main方法入口的class -->
                            <mainClass>pom.demo.PomDemo</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>assembly</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <!--        指定jar包名称-->
        <finalName>pom-demo</finalName>
    </build>
</project>

scope 作用范围:一般就用 compile 或者 provided

compile(默认) 全局都能使用这个jar依赖而且会将jar打包到项目里
provided 全局都能使用这个jar 不会将jar 打包到项目里
test 权限 test范围的依赖在一般的编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。就是是在测试目录(绿色的)下才能使用


<build> 节点下的配置都是Maven中的插件

如果这里报错 肯定就是插件或者版本…写错误了

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依赖下载失败解决办法

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

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

  2. 开启了离线模式了

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

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

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

Plugins 错误

如果创建 Maven web 成功了发现 这里错误了

先检测配置里 有没有设置好 (有可能你配置了但是 后期因为xx原因恢复默认了) 所以需要你去检测下

以上没有问题那么 就是 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范围指的是测试范围有效,在编译和打包时都不会使用这个依赖

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

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/xml/ns/javaee"
        xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
        xsi:schemaLocation="http://xmlns.jcp/xml/ns/javaee
                      http://xmlns.jcp/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/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache/SETTINGS/1.0.0 http://maven.apache/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/repository/public</url>
					</mirror>
		  </mirrors>

  <profiles>


  </profiles>


 
</settings>
点赞 -收藏-关注-便于以后复习和收到最新内容
有其他问题在评论区讨论-或者私信我-收到会在第一时间回复
如有侵权,请私信联系我
感谢,配合,希望我的努力对你有帮助^_^

更多推荐

IntelliJ IDEA-Maven使用教程

本文发布于:2023-06-28 16:46:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/930546.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:教程   IntelliJ   IDEA   Maven

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!