Maven入门教程(二):idea/Eclipse使用Maven

视频教程:Maven保姆级教程
Maven入门教程(一):安装Maven环境
Maven入门教程(二):idea/Eclipse使用Maven
Maven入门教程(三):Maven语法
Maven入门教程(四):Nexus私服
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>

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

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

相关文章

forlium 笔记 Map

用于创建交互式地图 1 主要参数 1.1. location 地图位置 地图的经纬度 import foliumm folium.Map(location[31.186358, 121.510256],zoom_start15)m 1.2 tiles 内置样式 默认是OpenStreetMap 1.2.1 Stamen Terrain 它强调了地形特征&#xff0c;如山脉、河流和道路 m …

深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization

深度学习论文: Segment Any Anomaly without Training via Hybrid Prompt Regularization Segment Any Anomaly without Training via Hybrid Prompt Regularization PDF: https://arxiv.org/pdf/2305.10724.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch Py…

57. 插入区间(C++题解)

57. 插入区间 插入区间 给你一个无重叠的 &#xff0c;按照区间起始端点排序的区间列表。 在列表中插入一个新的区间&#xff0c;你需要确保列表中的区间仍然有序且不重叠&#xff08;如果有必要的话&#xff0c;可以合并区间&#xff09;。 示例 1&#xff1a; 输入&#x…

SQL实际开发学习

注意&#xff01;&#xff01;&#xff01; select (很长的查询做表) 之后要设置别名不要加引号&#xff01; 错误select table.column1 from (xxxxxx) "table1" 正确select table.column1 from (xxxxx) table1 group by&#xff0c;distinct 如何去重&#xff1f; …

Ubuntu 23.10 将首次推出基于 Flutter 的新 Ubuntu 商店

导读Ubuntu 正在升级其软件商店以提供顺滑的体验&#xff01; 随着不断发展&#xff0c;Canonical 似乎全力以赴&#xff0c;将基于 Flutter 的元素整合到 Ubuntu 中。 在前段时间 Ubuntu 23.04 发布后&#xff0c;我们见到了基于 Flutter 的安装程序 &#xff0c;现在&#x…

[element-ui] el-tree全部展开与收回

shrinkTreeNode () {// 改变一个全局变量this.treeStatus !this.treeStatus;// 改变每个节点的状态this.changeTreeNodeStatus(this.$refs.attrList.store.root); },// 改变节点的状态 changeTreeNodeStatus (node) {node.expanded this.treeStatus;for (let i 0; i < no…

vim命令大全,非常详细,强烈建议收藏!

1、前言 Vim是一款常用的文本编辑器&#xff0c;具有强大的功能和高度的可定制性。在本文中&#xff0c;我们将详细介绍Vim的常用命令&#xff0c;并提供相关的示例。如果您是初学者或已经熟练使用Vim&#xff0c;这篇文章都能为您提供帮助。 2、基本命令 以下是一些基本的Vi…

hyperf 十四 国际化

一 安装 composer require hyperf/translation:v2.2.33 二 配置 1、设置语言文件 文件结构&#xff1a; /storage/languages/en/messages.php /storage/languages/zh_CH/messages.php // storage/languages/en/messages.php return [welcome > Welcome to our applicat…

使用awvs进行web安全扫描

1、安装 docker pull secfa/docker-awvs docker run -it -d -name awvs -p 13443:3443 --cap-add LINUX_IMMUTABLE secfa/docker-awvs2、账号密码 # https://ip:13443/ # 用户名:adminadmin.com # 密码:Admin1233、使用 ps:需要征得甲方的同意

2023年Java核心技术第十篇(篇篇万字精讲)

目录 十九 . 一个线程两次调用start&#xff08;&#xff09;方法会出现什么情况&#xff1f;线程的生命周期和状态转移。 19.1 典型回答 19.1.1 线程生命周期&#xff1a; 19.1.2 计时等待详细解释&#xff1a; 19.2 深入扩展考察 19.2.1 线程是什么&#xff1f; 19.2.2 Green…

【juc】读写锁ReentrantReadWriteLock

目录 一、说明二、读读不互斥2.1 代码示例2.2 截图示例 三、读写互斥3.1 代码示例3.2 截图示例 四、写写互斥4.1 代码示例4.2 截图示例 五、注意事项5.2.1 代码示例5.2.2 截图示例 一、说明 1.当读操作远远高于写操作时&#xff0c;使用读写锁让读读可以并发&#xff0c;来提高…

网络编程day1——进程间通信-socket套接字

基本特征&#xff1a;socket是一种接口技术&#xff0c;被抽象了一种文件操作&#xff0c;可以让同一计算机中的不同进程之间通信&#xff0c;也可以让不同计算机中的进程之间通信(网络通信) 本地进程间通信编程模型&#xff1a; 进程A …

IDEA遇到 git pull 冲突的几种解决方法

1 忽略本地修改&#xff0c;强制拉取远程到本地 主要是项目中的文档目录&#xff0c;看的时候可能多了些标注&#xff0c;现在远程文档更新&#xff0c;本地的版本已无用&#xff0c;可以强拉 git fetch --all git reset --hard origin/dev git pull关于commit和pull的先后顺…

亚马逊鲲鹏系统是怎么操作测评的

亚马逊鲲鹏系统可以注册亚马逊买家号、养号、下单留评等&#xff0c;是一款功能比较齐全的测评软件&#xff0c;具体操作如下&#xff1a; 首先我们需要先准备好买家账号&#xff0c;账号可以直接去购买已经注册好了的账号&#xff0c;也可以准备好账号所需要的一些邮箱、ip、…

无门槛访问ChatGPT升级版-数据指北AI

大家好&#xff0c;我是脚丫先生 (o^^o) 给小伙伴们介绍ChatGPT升级版不需要任何门槛&#xff0c;不需要单独搞账号&#xff0c;只要邮箱登录的方式&#xff0c;即可访问平台&#xff0c;以用户体验为首要&#xff0c;让所有人都能无门槛的使用目前市面上最强大的AI智能聊天&a…

Rn实现省市区三级联动

省市区三级联动选择是个很频繁的需求&#xff0c;但是查看了市面上很多插件不是太老不维护就是不满足需求&#xff0c;就试着实现一个 这个功能无任何依赖插件 功能略简单&#xff0c;但能实现需求 核心代码也尽力控制在了60行左右 pca-code.json树型数据来源 Administrative-d…

液体神经网络LLN:通过动态信息流彻底改变人工智能

巴乌米克泰吉 一、说明 在在人工智能领域&#xff0c;神经网络已被证明是解决复杂问题的非常强大的工具。多年来&#xff0c;研究人员不断寻求创新方法来提高其性能并扩展其能力。其中一种方法是液体神经网络&#xff08;LNN&#xff09;的概念&#xff0c;这是一个利用动态计算…

07:STM32----ADC模数转化器

目录 1:简历 2:逐次逼近型ADC 3:ADC基本结构 4:输入通道 5:规则组的4种转换模式 1:单次转化,非扫描模式 2:连续转化,非扫描模式 3:单次转化,扫描模式 4:单次转化,扫描模式 6:触发控制 7:数据对齐 8:转化时间 9:校准 10:ADC的硬件电路 A: AD单通道 1:连接图 2:函…

Git小白入门——了解分布式版本管理和安装

Git是什么&#xff1f; Git是目前世界上最先进的分布式版本控制系统&#xff08;没有之一&#xff09; 什么是版本控制系统&#xff1f; 程序员开发过程中&#xff0c;对于每次开发对各种文件的修改、增加、删除&#xff0c;达到预期阶段的一个快照就叫做一个版本。 如果有一…

【OpenCV入门】第一部分——图像处理基础

本文结构 图像处理的基本操作读取图像imread() 显示图像imshow()waitKey()destroyAllWindows() 保存图像imwrite() 复制图像copy() 获取图像属性 像素确定像素的位置获取像素的BGR值修改像素的BGR值 色彩空间GRAY色彩空间cvtColor()——从BGR色彩空间转换到GRAY色彩空间 HSV色彩…