Maven:在Intellij idea的使用

news2024/11/18 6:00:30

Maven

  • Intellij idea配置Maven
  • Intellij idea创建Maven项目
    • Java项目的创建
    • Web项目的创建
  • Intellij idea执行Maven命令
  • JavaWeb项目转为Maven项目
    • 遇到的问题
    • 解决

了解到Maven的基础知识后,接下来,简单介绍Maven在Intellij idea的使用( 以 IntelliJ IDEA 2018.3.6 为例 )。

Intellij idea配置Maven

Intellij idea配置Maven,步骤如下:

1.打开 Intellij idea ,点击 FileSettings… 。如下图:

在这里插入图片描述

2.点击 Build,Execution,Deployment ,再点击 Build Tools , 最后点击 Maven ;接着,需要对 Maven home pathUser Settings fileLocal repository 三个地方进行重新配置。如下图:

在这里插入图片描述

根据自身进行相应的配置:
Maven home path:本地 Maven 目录
User Settings file:本地 settings.xml 文件目录
Local repository:本地仓库目录

Intellij idea创建Maven项目

Intellij idea创建Maven项目,步骤如下:

Java项目的创建

1.点击 FileNew ,再点击 Project… 。如下图:

在这里插入图片描述

2.接着 ,弹出 New Project 窗口后 ,点击 Maven ,勾选 Create from archetype 。如下图:

注:创建 Java 项目选择 org.apache.maven.archetypes:maven-archetype-quickstart

在这里插入图片描述

3.点击 Next 后 ,填写GroupId(实际项目组) 、ArtifactId(当前项目的名称) 、Version(当前项目所处的版本号) 。如下图:

在这里插入图片描述

4.点击 Next 后 ,选择 Maven home directory(Maven) 、User settings file(settings配置文件) 、Local repository(本地仓库) 所在的目录 。如下图:

在这里插入图片描述

5.点击 Next 后 ,填写 Project name(项目文件名称) 、Project location(项目文件所在位置) 。如下图:

在这里插入图片描述

6.创建成功后,整个 Java 项目结构如下图:

在这里插入图片描述

Web项目的创建

1.现在,创建 Web 项目 ,点击 Maven ,勾选 Create from archetype 。如下图:

注:创建 Web 项目选择 org.apache.maven.archetypes:maven-archetype-webapp

在这里插入图片描述

2.点击 Next 后 ,填写GroupId 、ArtifactId 、Version 。如下图:

在这里插入图片描述

3.点击 Next 后 ,选择 Maven home directory 、User settings file 、Local repository 所在的目录 。如下图:

在这里插入图片描述

4.点击 Next 后 ,填写 Project name 、Project location 。如下图:

在这里插入图片描述

5.创建成功后,整个 Web 项目结构如下图:

在这里插入图片描述

Intellij idea执行Maven命令

完成项目创建后,在工作区的最右侧点击 Maven 可以执行 Maven 命令。如下图:

在这里插入图片描述

JavaWeb项目转为Maven项目

在学会 Maven 在Intellij idea的基本使用后,接下来我们学习如何将所学的 JavaWeb 项目转为 Maven 项目。步骤如下:

1.右键 JavaWeb 项目文件 ,点击 Add Framework Support…(添加框架支持) 。如下图:

在这里插入图片描述

2.勾选 Maven ,点击 OK 。如下图:

在这里插入图片描述

3.点击 OK 后 ,项目会自动生成 pom.xml 文件 。我们可以将web目录下的lib文件里的jar包删除,在 pom.xml 进行添加依赖。配置如下:

<?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>cn.edu.MSW</groupId>
    <artifactId>MSW</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-dbutils/commons-dbutils -->
        <dependency>
            <groupId>commons-dbutils</groupId>
            <artifactId>commons-dbutils</artifactId>
            <version>1.7</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.2.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.25</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
        <dependency>
            <groupId>org.apache.taglibs</groupId>
            <artifactId>taglibs-standard-impl</artifactId>
            <version>1.2.5</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
        <dependency>
            <groupId>org.apache.taglibs</groupId>
            <artifactId>taglibs-standard-spec</artifactId>
            <version>1.2.5</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>

    </dependencies>

</project>

自动生成的结构如下图:

在这里插入图片描述

4.配置完成后,我们还需要完善项目的结构,将java文件放在java目录下,配置文件放在resources目录下,网页文件放在webapp目录下(文件名更改,同时修改Web Resource Directory Path)。如下图:

在这里插入图片描述

最终结构如下图:

在这里插入图片描述

5.最后运行,测试成功。如下图:

在这里插入图片描述

遇到的问题

1. Tomcat Localhosting Log 报错:java.lang.ClassNotFoundException
2. idea 报错maven [ERROR] Maven execution terminated abnormally (exit code 1)
3. Unable to import maven project: See logs for details

解决

1. jar包有错误,查看jar是否有漏或者重新导入jar包出现 (发现jar包有漏,配置在pom.xml即可)
2. 打开 Settings ,找到 Maven 的 Runner ,添加以下参数在 VM Options中。 如下图:

-Dmaven.multiModuleProjectDirectory=$M2_HOME

在这里插入图片描述

3. Intellij idea版本与Maven版本不兼容导致的(Intellij idea 2018.3.6 x64 需要 Maven 3.6.1前的版本)。 重新下载安装 Maven 3.6.0 版本,如下图配置一下即可。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在线开会,来开开圆桌会议吧~

圆桌会议应用场景&#xff1a;适合内部培训、部门会议亦或是头脑风暴等较为轻松的场景&#xff0c;有兴趣的朋友可以联系我来测试哦~~ 上图&#xff1a; 图&#xff1a;圆桌会议应用截图 在圆桌布局之下&#xff0c;企业可以将每一位参会者和座位绑定&#xff0c;1:1模拟线下圆…

微信中如何接入机器人才比较安全(不会收到警告或者f号)之第三步正式接入

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 前言 前面两篇文章分别介绍了下chatgpt接入方式: 微信中如何接入chatgpt机器人才比较安全(不会收到警告或者f号)之第一步登录微信 微信中如何接入chatgpt机器人才比较安全(不会收到警告或者f号)之第二步注入dll文件…

Spring 底层原理与解析 - 容器接口

Spring 底层原理与解析 - 容器接口 BeanFactory 能做哪些事 BeanFactory 与 ApplicaiotnContext 到底是谁提前做完了对象的加载 在之前的一篇关于 Spring 的文章Spring IoC 与容器的初始化中提到过&#xff0c;BeanFactory 接口与 ApplicationContext 接口之间的关系 可以看…

MySQL作业四

学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;SC (Sno, Cno, Score)…

编译链接实战(8)认识elf文件格式

&#x1f380; 关于博主&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f947; 作者简介&#xff1a; 热衷于知识探索和分享的技术博主。 &#x1f482; csdn主页:&#xff1a;【奇妙之二进制】 ✍️ 微信公众号&#xff1a;【Linux …

FreeRTOS的列表和列表项

目录 列表和列表项的简介 列表和列表项的关系 列表相关API函数介绍 函数vListInitialiseI() 函数vListInitialiseItem() 函数vListInsert() 函数vListInsertEnd() 函数uxListRemove() 列表和列表项的简介 列表是FreeRTOS中的一个数据结构&#xff0c;概念上和链表有点类…

电脑的安全模式安全吗?如何进入安全模式?

“怎么进安全模式&#xff1f;”这条留言成功引起了驱动哥的注意。 在遇到电脑蓝屏、黑屏等系统问题的时候&#xff0c;如何在更安全且不损失电脑文件的情况下修复故障&#xff1f;系统早已为大家准备好了相应的修复策略。 没错&#xff01;电脑也有属于自己的Plan B——安全…

我工作5年测试才8K,应届生刚毕业就拿16K?凭什么

我从事手工测试五年了&#xff0c;还拿着8K的死工资&#xff0c;家里还几张嘴需要喂养&#xff0c;我很累&#xff0c;也很迷茫…【某个粉丝跟我的诉说】 为什么手工测试会迷茫呢&#xff1f; 自动化测试、性能测试倒是不会迷茫。 我认为手工测试的迷茫基于两个原因&#xf…

数据分析与SAS学习笔记5

DATALINES语句&#xff1a; 相当于CARS语句&#xff1b; 该语句必须是数据步的最后一条语句&#xff1b; MISSOVER处理&#xff1b; DATA TEMP; INFILE DATALINES MISSOVER; INPUT X Y Z; DATALINES; 1 10 100 2 20 3 30 300 ; PROC PRINT; RUN; 代码说明&#xff1a; 1&am…

生物信息场景下的用户需求

背景分析概念定义基因测序是一种新型基因检测技术&#xff0c;是基因检测的方法之一&#xff0c;其又叫基因谱测序&#xff0c;是国际上公认的一种基因检测标准。基因测序技术能锁定病变基因&#xff0c;提前预防和治疗。过长的测序周期以及上万美元的仪器成本&#xff0c;成了…

第二章:unity性能优化之drawcall优化-1

目录 前言&#xff1a; 一、什么是drawcall 二、如何合批 1、什么是合批&#xff1f; 2、静态批处理 1、什么是静态批处理&#xff1a; 2、静态合批的规则 3、动态批处理 4、GPU Instancing 1、GPU instancing的定义 2、编写支持GPU instancing Shader步骤 5、…

Blazor 托管模型 BlazorWebAssembly和Blazor Server

BlazorWebAssembly 应用 BlazorWebAssembly 应用使用基于 WebAssembly 的 .NET 运行时在浏览器中直接执行。 BlazorWebAssembly 应用的工作方式类似于 Angular 和 React 等前端 JavaScript 框架。 但不是编写 JavaScript&#xff0c;而是编写 C#。 .NET 运行时与应用、应用程序…

day18_常用API之String类丶Object类

String概述 java.lang.String 类代表字符串&#xff0c;String类定义的变量可以用于指向字符串对象&#xff0c;同时String类提供了很多操作字符串的功能&#xff0c;我们可以直接使用。Java 程序中的所有字符串文字&#xff08;例如“abc”&#xff09;都为此类的对象 特点:St…

【STM32笔记】低功耗模式下GPIO、外设、时钟省电配置避坑

【STM32笔记】低功耗模式下GPIO、外设、时钟省电配置避坑 前文&#xff1a; blog.csdn.net/weixin_53403301/article/details/128216064 【STM32笔记】HAL库低功耗模式配置&#xff08;ADC唤醒无法使用、低功耗模式无法烧录解决方案&#xff09; blog.csdn.net/weixin_534033…

最强找茬小程序

文章目录准备工作环境要求安装步骤效果展示源码下载最强找茬小程序&#xff0c;支持好友对战 准备工作 准备一个Linux系统的云服务器 centos7或ubuntu 安装宝塔面板&#xff08;不是必需的&#xff0c;建议安装这个&#xff09; 买一个域名&#xff0c;并配置ssl证书&#x…

NX二次开发编译时dll自动数字签名及拷贝

前言 在UG5.0开始&#xff0c;所有基于UG二次开发的DLL都要“签名”后才能被客户端上正版的NX调用。 一、基于C# 开发签名 1、添加资源文件 &#xff08;1&#xff09;项目类库上右键–>属性–>资源–>添加资源右边小三角–>添加现有文件–>切换到UG安装目录下…

Java SSM 笔记(一)重置版

Spring核心技术 **前置课程要求&#xff1a;**请各位小伙伴先完成《JavaWeb》篇、《Java 9-17新特性》篇视频教程之后&#xff0c;再来观看此教程。 **建议&#xff1a;**对Java开发还不是很熟悉的同学&#xff0c;最好先花费半个月到一个月时间大量地去编写小项目&#xff0…

Source lnsight工具的简单使用

多文件编程推荐用Source lnsight工具来进行编写 一、Source lnsight工具的简单使用 1、在桌面上新建一个文件夹factory&#xff0c;在文件夹里新建一个cat.c文件和si文件夹 2、打开Source lnsight工具&#xff0c;点击上方Project--->New Project 3、把文件夹factory中si文…

2023年初级会计职称考试《经济法基础》大纲变动内容

整体变动:2023年度考试大纲主要作了以下调整:1. 第四章中增加了增值税出口退税和地方教育附加相关内容;2. 第五章中增加了企业重组业务企业所得税处理&#xff0c;企业所得税特别纳税调整和纳税电报表相关内容;3. 第六章中增加了印花税相关内容。具体变动:第一章 总论无变化第二…

QML矩形(Rectangle)

Rectangle 用于绘制矩形 常见的属性&#xff1a; 填充颜色&#xff1a;纯色&#xff1a;color 渐变 &#xff1a;Gradient类 渐变的优先级大于纯色Gradient&#xff08;渐变色&#xff09;&#xff1a; 渐变由多种颜色定义&#xff0c;这些颜色将无缝混合&#xff0c…