java结丹期(16)----javaweb(maven(2))
idea开发maven项目(电脑上一定要安装maven,并配置好环境变量才可开始下面的操作)
1.idea的maven配置
打开File→Settings配置maven
依据图片指示,选择本地maven安装目录,指定maven安装目录下conf文件夹中settings配置文件。
接着选择Maven目录下的Runner,VM Options里设置-DarchetypeCatalog=internal
2.使用骨架创建maven的web工程(第一次创建一定要联网,不然要gg)
1.
2.
3.
4.
5.
6.记得补全目录结构,完整的目录结构(maven项目的目录结构必须严格遵守(不用骨架也要严格遵守))
Maven工程的目录结构
src/main/java —— 存放项目的.java文件
src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件
src/test/java —— 存放所有单元测试.java文件,如JUnit测试类
src/test/resources —— 测试资源文件
target —— 项目输出位置,编译后的class文件会输出到此目录
pom.xml——maven项目核心配置文件
注意:如果是普通的java项目,那么就没有webapp目录。
注意:补全的文件夹一定要设置成对应的文件目录,不然maven不认识。例如下面设置补全的java文件夹
1.
2.
3.在pom.xml文件添加坐标(以创建servlet为例)
1.创建servlet
1.创建一个Servlet,但报错
要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar
2.直接打开hello_maven工程的pom.xml文件,再添加坐标
添加jar包的坐标时,还可以指定这个jar包将来的作用范围。
每个maven工程都需要定义本工程的坐标,坐标是maven对jar包的身份定义比如:入门程序的坐标定义如下:
<!--项目名称,定义为组织名+项目名,类似包名-->
<groupId>com.itheima</groupId>
<!-- 模块名称 -->
<artifactId>hello_maven</artifactId>
<!-- 当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本 -->
<version>0.0.1-SNAPSHOT</version>
<packaging > :打包类型
jar:执行package会打成jar包
war:执行package会打成war包
pom :用于maven工程的继承,通常父工程设置为pom
2.依赖范围(如果范围不对可能会导致jar包冲突,默认范围为compile)
标签<scope></scope>
A依赖B,需要在A的pom.xml文件中添加B的坐标,添加坐标时需要指定依赖范围,依赖范围包括:
compile:编译范围,指A在编译时依赖B,此范围为默认依赖范围。编译范围的依赖会用在编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
provided:provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用, provided依赖在编译和测试时需要,在运行时不需要,比如:servlet api被tomcat容器提供。
runtime:runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以runtime范围的依赖会被打包。
test:test范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要所以test范围依赖不会被打包。
system:system范围依赖与provided类似,但是你必须显式的提供一个对于本地系统中JAR文件的路径,需要指定systemPath磁盘路径,system依赖不推荐使用。
3.坐标来源
从互联网搜索
http://search.maven.org/
http://mvnrepository.com/
4.如何在maven工程下运行tomcat(idea)
按图提示操作即可
java结丹期(16)----javaweb(maven(2))相关推荐
- java结丹期(15)----javaweb(maven(1))
1.maven的基本概念 Maven的正确发音是[ˈmevən](妹瘟),而不是"马瘟"以及其他什么瘟.Maven在美国是一个口语化的词语,代表专家.内行的意思. 一个对Maven ...
- java结丹期(14)----javaweb(cookiesession)
Cookie: 1. 概念:客户端会话技术,将数据保存到客户端 2. 快速入门: * 使用步骤: 1. 创建Cookie对象,绑定数据 * new Cookie(String ...
- java结丹期(13)----javaweb(responserequestservletcontext)
Request 1. request对象和response对象的原理 1. request和response对象是由服务器创建的.我们来使用它们 2. requ ...
- java结丹期(12)----javaweb(servletHTTPweb相关基本概念)
web相关概念回顾 1. 软件架构 1. C/S:客户端/服务器端 2. B/S:浏览器/服务器端 2. 资源分类 1. 静态资源:所有用户访问后,得到的结果都是一样的,称为静 ...
- java结丹期(11)----javaweb(jstljsp)
JSP(JavaServer Pages): 1. 概念: * Java Server Pages: java服务器端页面 * 可以理解为:一个特殊的页面,其中既可以指定定义h ...
- 接口测试(筑基期>>>结丹期)
• 初识HTTP • HTTP的工作原理 • 请求行.状态行和消息报头 • 缓存和认证 • Fiddler的基本介绍 HTTP 的原理 HTTP 1.0 1.连接过程是短暂的 2.每次连接只处理一个请 ...
- Java三部曲(二)JavaWeb
前言 1.什么是JavaWeb? Web:全球广域网,也成为万维网(www),能通过浏览器访问的网站. JavaWeb:用Java开发网站的技术栈. 2.本教程的基础框架 网页端:展现数据 HTML: ...
- 如何在华为云软件开发云上搭建JavaWeb,Maven项目
本文将使用华为云软件开发云向大家演示如何搭建JavaWeb,Maven项目. 一.相关信息 1.华为云软件开发云简介 华为云软件开发云(DevCloud)是集华为近30年研发实践,前沿研发理念,先进研 ...
- Java注解编译期处理AbstractProcessor详解
文章目录 概述 注解处理器 注解处理流程 AbstractProcessor getSupportedOptions() getSupportedAnnotationTypes getSupporte ...
最新文章
- php和python区别-python与php比较
- 蓝桥杯最短路(java过)spfa单源最短路算法
- vmware + centos6设置桥接模式
- 如何使用FinalShell、FileZilla上传网站代码到服务器?这两个都是神器
- 阿里云服务器搭配宝塔面板安装Redis为网站提速
- 一直都说字节跳动有点难,这次体会了,而且被怼了~
- 4. 正则表达式(4)
- select、poll、epoll的区别
- 风险投资,扼杀中国互联网创新的黑手
- 计算机毕业设计APP项目技术开发文档
- 最大速度、加速度时间,加速度、加加速度、加加速度时间
- Android 动画系列二之补间动画
- Java实现腾讯云短信发送
- 追忆似水流年,似水高三
- 网卡无法再次硬改mac_Intel网卡mac无限硬改工具(IntelMacChanger)
- java 刷新jtextarea,SwingPropertyChangeSupport动态更新JTextArea
- 哈佛结构和冯·诺依曼结构
- 金大侠眼光果然犀利:《笑傲江湖》只值一块钱 (转)
- VPS云主机套餐中都包含什么
- tools1.0.0
热门文章
- 内部数据中心不会消失的6个原因
- 防范数据中心火灾的7个方式
- python变量无需指定类型对吗_Python变量类型 - osc_3rgq3dae的个人空间 - OSCHINA - 中文开源技术交流社区...
- python socket发送组播数据_Python socket 如何实现广播单播切换
- python连接es数据库_Python Elasticsearch API操作ES集群
- Py之yacs:yacs的简介、安装、使用方法之详细攻略
- ML之kNN(两种):基于两种kNN(平均回归、加权回归)对Boston(波士顿房价)数据集(506,13+1)进行价格回归预测并对比各自性能
- Linux+pycharm下 安装tensorflow时遇到的bug
- Using Preferences(Beginning Android)
- 20 道 Spring Boot 面试题