Maven入门教程(二):idea/Eclipse使用Maven
Maven入门教程(一):安装Maven环境
4.开发工具配置
4.1 idea配置
idea有多个版本,配置是一样的,只是配置页面的入口不一样
旧版idea

新版idea


4.2 Eclipse配置
打开Eclipse,菜单中选择:Window -> Preference -> Maven -> Installation -> Add


5. 创建工程
Maven工程的项目和传统Eclipse创建的项目不同,目录上有区别。
传统项目中src下面放所有的java代码。而Maven项目中将java代码和配置文件分开。
src/main/java:是写java代码的目录,里面可以创建package和class文件。
src/main/resources:写配置文件的地方,一般xml和properties都放在这里。
src/test/java:是测试目录,如用junit测试的时候测试代码可以写在这。
src/test/java:是测试资源目录,如用junit测试的时候xml和properties都放在这里。
Maven项目和传统项目的对比:

5.1 idea创建标准工程
5.1.1 旧版idea

点击Next




如果创建成功,会在IntelliJ中看到完整的目录结构。
如果创建失败,可以在控制台中查看EventLog
有些资源Maven需要联网下载,如果download失败,项目可能创建失败。
如果创建同名的工程也会报错,如下:

此时需要删除工程目录下对应的文件夹,并删除回收站中对应的文件。
右键单击main->New->Directory


右键java文件夹->Mark Directory As ->Sources Root将文件夹更改成源码文件

右键resources->Mark Directory As –>Resources Root
java文件夹下用于存放package,相当于eclipse普通工程中的src目录。
resources中用于存放配置文件和属性文件。
还可以在src下创建test文件夹,用于junit测试。test下同样创建java和resources

也可以右键项目-选择Open Module Settings打开项目配置页面更改

5.1.2 新版idea





可以在目录上右键->Mark Directory As ,选择设置或取消资源目录

5.2 idea创建传统web工程
pom中添加
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency>
</dependencies>
项目的src/main下创建webapp目录结构










5.3 Eclipse创建标准工程
右键->New Maven Project,如果右键菜单里没有,就在Other里找




如果某个文件加没有被标记为source目录,可以在项目上右键->Properties->Java Build Path

5.4 Eclipse创建传统Web项目
右键->New->Maven Project,如果右键菜单里没有,就在Other里找





创建web项目后,pom.xml中有一个报错:

意思是web项目必须有一个web.xml。
所以我们要自己创建web目录:

web.xml和传统项目中一样:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"></web-app>
在webapp下创建index.jsp

会发现jsp文件有报错:

因为我们没有引用servlet相关的jar。Maven项目中没有lib文件夹,因为它不需要把jar包复制到工程中。
在pom.xml中添加如下配置:
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency>
</dependencies>
相关文章:
Maven入门教程(二):idea/Eclipse使用Maven
Maven入门教程(一):安装Maven环境 4.开发工具配置 4.1 idea配置 idea有多个版本,配置是一样的,只是配置页面的入口不一样 旧版idea 新版idea 4.2 Eclipse配置 打开Eclipse,菜单中选择:Window -> Preference ->…...
【MySQL】MySQL里的用户账户和角色是什么?如何管理?
用户(user)验证和授权创建用户账户连接服务器查看用户账户设置 角色(role)创建角色 操作用户帐户和角色重命名删除 感谢 💖 用户(user) 在MySQL中,用户是数据库访问的主要实体。每个…...
vbs病毒
vbs脚本:VBS脚本病毒原理分析和防范 疯狂代码 http://CrazyCoder.cn/ Sh t t p : / C r a z y C o d e r . c n / S e c u r i t y / Ar t i c l e 7 2 0 0 8 . h t m l 网络流行让我们世界变得更加美好但它也有让人不愉快时候当您收到封主题为1LoveYou” 邮件用兴奋 得几乎快发…...
用Java实现Huffman编码
文章目录 前言一、实现思路二、准备Huffman结点三、主要实现 前言 在使用http1.1协议传输数据的时候,会有一些固定的字段,比如cookie、编码方式、接收的数据类型,另外会有一些大量重复的字段造成请求报文过于冗长,为了解决这个问…...
day-04 基于UDP的服务器端/客户端
一.理解UDP (一)UDP套接字的特点 UDP套接字具有以下特点: 无连接性:UDP是一种无连接的协议,这意味着在发送数据之前,不需要在发送方和接收方之间建立连接。每个UDP数据包都是独立的,它们可以独…...
FFmpeg rtp rtp_mpegts的区别
rtp 在FFmpeg中,rtpenc是一个用于将音视频数据封装成RTP(Real-time Transport Protocol)数据包并发送到网络上的编码器。RTP是一种用于实时传输音视频数据的协议,常用于视频会议、流媒体等场景。 rtpenc可以将音视频数据封装成R…...
【链表OJ】相交链表 环形链表1
前言: 💥🎈个人主页:Dream_Chaser~ 🎈💥 ✨✨刷题专栏:http://t.csdn.cn/UlvTc ⛳⛳本篇内容:力扣上链表OJ题目 目录 一.leetcode 160. 相交链表 1.问题描述: 2.解题思路: 二.leetcode 141.环形链表 …...
DevOps之自动化测试
什么是自动化测试? 明确一下自动化测试不是什么。自动化测试不是指自动化生成测试代码,而是自动化地执行由开发人员或测试人员编写的测试代码。正如下面这句谚语:“绝不要手工去做任何可以被自动化处理的事情。——Curt Hibbs” 之前是由人…...
Java 程序打印 OpenCV 的版本
我们可以使用 Java 程序来使用 OpenCV。 OpenCV 的使用需要动态库的加载才可以。 加载动态库 到 OpenCV 的官方网站上下载最新的发布版本。 Windows 下载的是一个可执行文件,没关系,这个可执行文件是一个自解压程序。 当你运行以后会提示你进行解压。…...
ChatGPT⼊门到精通(2):ChatGPT 能为我们做什么
⼀、雇佣免费的⼲活⼩弟 有了ChatGPT后,就好⽐你有了好⼏个帮你免费打⼯的「⼩弟」,他们可以帮你做很多 ⼯作。我简单总结⼀些我⽬前使⽤过的⽐较好的基于ChatGPT的服务和应⽤。 1、总结、分析 当我们在阅读⼀些⽂章和新闻的时候,有的⽂章写…...
线程和进程的区别是什么?
线程(Thread)和进程(Process)是操作系统中两个重要的概念,用于管理程序的执行。它们有以下区别: 定义:进程:进程是程序的一个执行实例,它包含了程序的代码、数据以及执行上下文。进程是操作系统分配资源和调度的基本单位。线程:线程是进程的子执行单元,一个进程可以…...
力扣27.移除元素
27. 移除元素 提示 简单 1.9K 相关企业 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序…...
指针(个人学习笔记黑马学习)
1、指针的定义和使用 #include <iostream> using namespace std;int main() {int a 10;int* p;p &a;cout << "a的地址为:" << &a << endl;cout << "a的地址为:" << p << endl;…...
vue 路由动态加载
在 Vue.js 中,可以使用 webpack 的动态导入语法来实现路由动态加载。下面是一个简单的示例: const Home () > import(/* webpackChunkName: "home" */ ./views/Home.vue); const About () > import(/* webpackChunkName: "about…...
电脑识别不了固态硬盘怎么办?
在使用固态硬盘时,可能会出现电脑无法识别的情况,这时我们就无法使用固态硬盘中的数据。那么,电脑识别不了固态硬盘怎么办? 为什么电脑识别不了固态硬盘? 一般来说,电脑识别不了固态硬盘是因为以下3个原因…...
QCustomPlot 绘制卡顿问题
大数据量导致曲线绘制卡顿问题 这里提供一个思路在跟踪源码中发现底层卡顿在vector的resize() 此处扩容中 所以尽量使用下面的接口 /*! \overloadAdds the provided data point as \a key and \a value to the current data.Alternatively, you can also access and modify t…...
uni-app开发小程序,radio单选按钮,点击可以选中,再次点击可以取消
一、实现效果: 二、代码实现: 不适用官方的change方法,自己定义点击方法。 动态判断定义的值是否等于遍历的值进行回显,如果和上一次点击的值一样,就把定义的值改为null <template><view><radio-group&…...
【Qt专栏】实现单例程序,禁止程序多开的几种方式
目录 一,简要介绍 二,实现示例(Windows) 1.使用系统级别的互斥机制 2.通过共享内存(进程间通信-IPC) 3.使用命名互斥锁(不推荐) 4.使用文件锁 5.通过网络端口检测 一…...
力扣26. 删除有序数组中的重复项
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做…...
【机器学习】鸢尾花分类-逻辑回归示例
这段代码是一个完整的示例,展示了如何使用逻辑回归对鸢尾花数据集进行训练、保存模型,并允许用户输入数据进行预测。以下是对这段代码的总结:功能: 这段代码演示了如何使用逻辑回归对鸢尾花数据集进行训练,并将训练好的…...
智慧果园黄瓜识别分割数据集labelme格式1002张1类别
数据集格式:labelme格式(不包含mask文件,仅仅包含jpg图片和对应的json文件)图片数量(jpg文件个数):1002标注数量(json文件个数):1002标注类别数:1标注类别名称:["cucumber"]每个类别标注的框数:c…...
3分钟完成智能图像分层:Layerdivider一键PSD生成终极指南
3分钟完成智能图像分层:Layerdivider一键PSD生成终极指南 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 你是否曾面对一张精美的插画&#x…...
微信聊天记录终极备份指南:如何永久保存你的珍贵回忆
微信聊天记录终极备份指南:如何永久保存你的珍贵回忆 【免费下载链接】WechatBakTool 基于C#的微信PC版聊天记录备份工具,提供图形界面,解密微信数据库并导出聊天记录。 项目地址: https://gitcode.com/gh_mirrors/we/WechatBakTool 你…...
XXMI启动器:二次元游戏模组管理的一站式解决方案,5分钟搞定复杂配置
XXMI启动器:二次元游戏模组管理的一站式解决方案,5分钟搞定复杂配置 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI启动器是一款革命性的开源游戏模…...
【2024全球重大社会事件回溯实证】:Perplexity搜索结果偏差率对比测试(含Reuters、AP、路透中文网基准数据)
更多请点击: https://kaifayun.com 第一章:【2024全球重大社会事件回溯实证】:Perplexity搜索结果偏差率对比测试(含Reuters、AP、路透中文网基准数据) 为量化AI驱动型搜索引擎在重大社会事件报道中的信息保真度&…...
XXMI启动器:6款热门二次元游戏模组一站式管理终极指南
XXMI启动器:6款热门二次元游戏模组一站式管理终极指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI启动器是一款专为二次元游戏爱好者设计的开源模组管理平台…...
DeepSeek LeetCode 2509.查询树中环的长度 public int[] cycleLengthQueries(int n, int[][] queries)
这道题的核心是找到两个节点在完全二叉树中的路径长度,然后计算环的长度。关键思路:1. 完全二叉树的节点编号规律:节点 i 的父节点是 i/2 2. 两个节点之间的路径长度 深度差 2 LCA深度差 3. 环的长度 路径长度 1(加回重复的L…...
[特殊字符] 零基础搭建「知识科普讲师」数字人|魔珐星云实战指南
在短视频、知识付费、自媒体赛道,知识科普、职场干货、生活常识、读书分享内容需求越来越大。真人出镜成本高、拍摄慢、文案难量产,而AI 数字人讲师可以做到:文案好写、生成快、24 小时可播、风格稳定、形象专业。 本文基于魔珐星云具身智能…...
git diff 从入门到精通
从三个区域模型出发,拆解 git diff 的默认行为、区间语义、输出格式,以及那些让人困惑的设计选择。前置知识:三个区域 理解 git diff 之前,必须先理解 Git 的三个状态区域: 工作区 暂存区 …...
基于RK3568的智能家居控制器:硬件选型、架构设计与软件实现全解析
1. 项目概述:为什么选择RK3568作为智能家居控制器的“大脑”?在智能家居这个赛道里摸爬滚打了十来年,我经手过不少方案,从早期的单片机到后来的ARM Cortex-A系列,再到如今百花齐放的各类SoC。每次做产品选型࿰…...
