专业网站设计联系/网络推广的方法有哪些
目录
- 1 概述
- 1.1 Maven是什么
- 1.2 作用
- 1.2.1 构建
- 1.3 jar包是什么
- 2 下载及配置
- 2.1 下载
- 2.2 配置环境变量
- 3 基本概念
- 3.1 仓库
- 3.2 坐标
- 3.2.1 概念
- 3.2.2 如何获取指定jar包的坐标
- 3.3 项目结构
- 3.3.1 普通java项目的目录结构
- 3.3.2 java web项目的目录结构
- 3.4 项目构建命令
- 4 IDEA中创建Maven项目
- 4.1 点击new project,选择Maven选项
- 4.2 输入项目名称,完成项目的创建
- 4.3 进行maven的配置
- 4.4 修改pom.xml配置文件
- 4.5 执行maven指令
- 4.5.1 方式1:双击命令
- 4.5.2 方式2:进行配置
- 4 IDEA中使用Maven模板新建项目
- 4.1 创建java web项目
- 4.2 安装tomcat插件
- 5 依赖管理
- 5.1 依赖配置
- 5.2 依赖传递
- 5.3 可选依赖
- 5.4 排除依赖
- 5.5 依赖范围
- 6 生命周期和插件
- 6.1 项目构建生命周期
- 6.2 插件
- 7 分模块开发
- 8 聚合
- 9 继承
- 9.1 在父工程中定义依赖管理
- 9.2 子工程中使用父工程中的依赖
- 9.3 插件管理与依赖管理同理
- 9.4 继承与聚合的联系
- 10 属性
- 10.1 属性的类别
- 10.2 自定义属性
- 10.2.1 作用
- 10.2.2 定义格式
- 10.2.3 引用格式
- 10.3 内置属性
- 10.4 Setting属性
- 10.5 Java系统属性
- 10.6 环境变量属性
- 11 版本管理
- 12 资源配置
- 12.1 自定义属性
- 12.2 在配置文件中引用属性
- 12.3 开启配置文件加载pom属性
- 13 多环境配置
- 13.1 加载指定环境
- 14 跳过测试
- 14.1 应用场景
- 14.2 方式1:使用命令跳过测试
- 14.3 方式2:使用界面操作跳过测试
- 14.4 方式3:使用配置跳过测试
参考文章
1 概述
1.1 Maven是什么
Maven 是 Apache 维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。它包含了一个对象模型,一组标准集合,一个依赖管理系统和用来运行定义在生命周期阶段中插件目标和逻辑。
1.2 作用
- 依赖管理:Maven的核心功能是合理叙述项目间的依赖关系,通俗点就是通过pom.xml文件的配置获取jar包而不需要手动地去添加jar包。
- 构建:脱离 IDE 环境执行构建操作。
1.2.1 构建
Java 项目开发过程中,构建指的是使用『原材料生产产品』的过程。
构建过程包含的主要的环节:
- 清理:删除上一次构建的结果,为下一次构建做好准备
- 编译:Java 源程序编译成 *.class 字节码文件
- 测试:运行提前准备好的测试程序
- 报告:针对刚才测试的结果生成一个全面的信息
- 打包
- Java工程:jar包
- Web工程:war包
- 安装:把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库
- 部署
- 部署 jar 包:把一个 jar 包部署到 Nexus 私服服务器上
- 部署 war 包:借助相关 Maven 插件(例如 cargo),将 war 包部署到 Tomcat 服务器上
1.3 jar包是什么
JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。
通俗来说,jar包就是别人已经写好的类,然后对这些类进行打包(压缩)。可以将这些jar包引入到你的项目中,然后可以直接使用这些jar包中的类、方法和属性,这些jar包一般放在lib目录下。
2 下载及配置
2.1 下载
设置镜像仓库和本地仓库的位置:参考
2.2 配置环境变量
参考
3 基本概念
3.1 仓库
3.2 坐标
3.2.1 概念
3.2.2 如何获取指定jar包的坐标
- 进入网站;
- 在顶部搜索框中输入想要查找的jar包;
- 在查找结果页面中找到对应的选项;
- 选择你需要的版本;
- 复制jar包的坐标到你的项目中。
3.3 项目结构
3.3.1 普通java项目的目录结构
还有最重要的pom.xml,与src位于同一级上。
3.3.2 java web项目的目录结构
3.4 项目构建命令
4 IDEA中创建Maven项目
4.1 点击new project,选择Maven选项
4.2 输入项目名称,完成项目的创建
4.3 进行maven的配置
注意: maven的版本号不能太高,否则idea中不支持;
4.4 修改pom.xml配置文件
4.5 执行maven指令
4.5.1 方式1:双击命令
4.5.2 方式2:进行配置
这种方式的优势在于可以对代码进行调试。
4 IDEA中使用Maven模板新建项目
4.1 创建java web项目
创建完成后的目录结构不够完善,需要我们自己去添加
对于不同的文件夹应该进行对应的标记,右击文件夹,选择Mark Directory as来进行设置。
4.2 安装tomcat插件
在pom.xml文件中添加插件,在右侧maven框中点击刷新引入插件。
<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version></plugin></plugins></build>
5 依赖管理
5.1 依赖配置
在一个项目中可以引入另一个项目的所有依赖,具体配置方式如下:
5.2 依赖传递
5.3 可选依赖
当前项目中的私有依赖,其他项目不能通过本项目引用。
<dependency><groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> // 只需要将Optional设置为true即可<optional>true</optional>
</dependency>
5.4 排除依赖
5.5 依赖范围
6 生命周期和插件
6.1 项目构建生命周期
Maven的构建生命周期描述的是一次构建过程中经历了多少个事件。
6.2 插件
生命周期可以理解为年龄,而插件是对应年龄应该做的事。
7 分模块开发
略
8 聚合
如果工程没有写打包方式,默认打jar包。
9 继承
maven中的继承本质上是版本号的继承,在子工程中仍需要定义依赖的groupId和atrifactId,只有定义过的依赖,在子工程中才可以使用.
9.1 在父工程中定义依赖管理
9.2 子工程中使用父工程中的依赖
- 子工程的groupId和version可以去掉,与父工程保持一致.
- 子工程中定义父工程中存在的依赖时,无需声明依赖版本.
9.3 插件管理与依赖管理同理
把父工程中的插件放到pluginManagement标签中,子工程中就不需要定义版本号.
9.4 继承与聚合的联系
10 属性
10.1 属性的类别
- 自定义属性
- 内置属性
- Setting属性
- Java系统属性
- 环境变量属性
10.2 自定义属性
10.2.1 作用
等同于定义变量,方便统一维护。
10.2.2 定义格式
10.2.3 引用格式
10.3 内置属性
10.4 Setting属性
10.5 Java系统属性
10.6 环境变量属性
11 版本管理
12 资源配置
为了更好的管理配置文件中的资源(例如jdbc.properties),将配置文件中资源可以配置到pom.xml中的自定义属性中,从而实现统一管理。
12.1 自定义属性
12.2 在配置文件中引用属性
12.3 开启配置文件加载pom属性
在build标签下配置resources标签,配置资源文件所在的文件夹,并且开启过滤。
只有开启了这一步,才能通过${}实现对自定义属性的访问。
13 多环境配置
在pom.xml中使用profiles标签创建多环境配置
13.1 加载指定环境
命令格式:指令 –P 环境定义id
14 跳过测试
14.1 应用场景
14.2 方式1:使用命令跳过测试
14.3 方式2:使用界面操作跳过测试
14.4 方式3:使用配置跳过测试
相关文章:

Maven学习笔记
目录1 概述1.1 Maven是什么1.2 作用1.2.1 构建1.3 jar包是什么2 下载及配置2.1 下载2.2 配置环境变量3 基本概念3.1 仓库3.2 坐标3.2.1 概念3.2.2 如何获取指定jar包的坐标3.3 项目结构3.3.1 普通java项目的目录结构3.3.2 java web项目的目录结构3.4 项目构建命令4 IDEA中创建M…...

654. 最大二叉树
题目 leetcode题目地址 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返…...

快速幂----快速求解底数的n次幂
目录 一.快速幂 1.问题的引入 2.快速幂的介绍 3.核心思想 4.代码实现 2.猴子碰撞的方法数 1.题目描述 2.问题分析 3.代码实现 一.快速幂 1.问题的引入 问题:求解num的n次幂,结果需要求余7 对于这个问题我们可能就是直接调用函数pow(a,b)来直接求解a的b次幂问题,但是如果…...

【FMCW 04】测角-Angle FFT
在之前的文章中,我们已经详尽讨论过FMCW雷达测距和测速的原理,现在来讲最后一块内容,测角。测角对于硬件设备具有要求,即要求雷达具有多发多收结构,从而形成多个空间信道(channel),我…...

Linux操作系统学习(线程同步)
文章目录线程同步条件变量生产者与消费者模型信号量环形队列应用生产者消费者模型线程同步 现实生活中我们经常会遇到同一个资源多个人都想使用的问题,例如游乐园过山车排队,玩完的游客还想再玩,最好的办法就是玩完的游客想再玩就去重新排…...

了解动态规划算法:原理、实现和优化指南
动态规划 详细介绍例子斐波那契数列最长回文子串优化指南优化思路斐波那契数列优化最长回文子串优化详细介绍 动态规划(Dynamic Programming,简称 DP)是一种通过将原问题拆分成子问题并分别求解这些子问题来解决复杂问题的算法思想。 它通常用于求解优化问题,它的核心思想…...

《NFL橄榄球》:明尼苏达维京人·橄榄1号位
明尼苏达维京人(英语:Minnesota Vikings)是一支职业美式足球球队,位于明尼苏达州的明尼阿波利斯。他们现时在国家橄榄球联合会北区参与国家美式足球联盟比赛。该球队本为美国美式足球联盟(AFL)的球队。但是…...

sheng的学习笔记-Actuator健康监控
前言在微服务系统里,对微服务程序的运行状况的跟踪和监控是必不可少的;例如GPE,TelegrafinfluxDB都提供了微服务体系监控的方案, ZIPKIN, Skywalking都提供了微服务云体系的APM的方案; 这些解决方案功能全面…...

初次使用ESP32-CAM记录
模块的配置和图片 摄像头:8225N V2.0 171026 模块esp-32s 参考资料:https://docs.ai-thinker.com/esp32 配置环境 参考:https://blog.csdn.net/weixin_43794311/article/details/128622558 简单使用需要注意的地方 基本的环境配置和串口…...

华为OD机试真题Python实现【最长连续交替方波信号】真题+解题思路+代码(20222023)
最长连续交替方波信号 题目 输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出, 如果有相同长度的交替方波信号,输出任一即可,方波信号高位用1标识,低位用0标识 如图: 说明: 一个完整的信号一定以0开始然后以0结尾, 即 010 是一个完整的信号,但101,101…...

【操作系统原理实验】页面替换策略模拟实现
选择一种高级语言如C/C等,编写一个页面替换算法的模拟实现程序。1) 设计内存管理相关数据结构;2) 随机生成一个页面请求序列;3) 设置内存管理模拟的关键参数;4) 实现该页面置换算法;5) 模拟实现给定配置请求序列的换页…...

Java中解析XML文件
1 在Java中解析XML文件共有四种方式 A、DOM方式解析XML数据 树结构,有助于更好地理解、掌握,代码易于编写,在解析过程中树结构是保存在内存中,方便修改 B、SAX方式解析 采用事件驱动模式,对内存消耗比较小࿰…...

二点回调测买 源码
如图所示,两点回调测买点的效果图,这是我们常见的一种预测买点计算方法。 现将源码公布如下: DRAWKLINE(H,O,L,C); N:13; A1:REF(HIGH,N)HHV(HIGH,2*N1); B1:FILTER(A1,N); C1:BACKSET(B1,N1); D1:FILTER(C1,N); A2:REF(LOW,N)LLV(LOW,2*N1…...

钉钉端H5开发调试怎么搞
H5开发本地调试教程 作为一名前端开发,大家平时工作中或多或少都有接触或需要开发H5页面的场景,在开发过程中,如何像PC端页面一样有有丝滑的体验呢? 不同的情况需要在不同的端调试更方便有效: 1. 在画UI的时候,更适合在PC端调试,更改代码或者直接在浏览器调试,都是实…...

Mysql Server原理简介
Mysql客户端包括JDBC、 Navicat、sqlyog,只是为了和mysql server建立连接,向mysql server提交sql语句。mysql server组件第一部分叫连接器主要承担的功能叫管理连接和验证权限,每次在进行数据库访问的时候,必然要输入用户名和密码…...

23种设计模式-外观模式
外观模式是一种结构型设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,使得客户端可以更加方便地访问子系统的功能。在这篇博客中,我们将讨论如何使用Java实现外观模式,并通…...

使用 Vulkan VkImage 作为 CUDA cuArray
使用 Vulkan VkImage 作为 CUDA cuArray【问题标题】:Use Vulkan VkImage as a CUDA cuArray使用 Vulkan VkImage 作为 CUDA cuArray【发布时间】:2019-08-20 20:01:10【问题描述】:将 Vulkan VkImage 用作 CUDA cuArray 的正确方法是什么&am…...

电商API接口-电商OMS不可或缺的一块 调用代码展示
电商后台管理系统关键的一环就是实现电商平台数据的抓取,以及上下架商品、订单修改等功能的调用。这里就需要调用电商API接口。接入电商API接口后再根据自我的需求进行功能再开发,实现业务上的数字化管理。其中订单管理模板上需要用到如下API:seller_ord…...

Solaris ZFS文件系统rpool扩容
ZFS文件系统简介 Solaris10默认的文件系统是ufs(Unix Filesystem),当然也可以选装zfs;Solaris11默认的文件系统是zfs(Zettabyte Filesystem)。 ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件…...

模式识别 —— 第二章 参数估计
模式识别 —— 第二章 参数估计 文章目录模式识别 —— 第二章 参数估计最大似然估计(MLE)最大后验概率估计(MAP)贝叶斯估计最大似然估计(MLE) 在语言上: 似然(likelihood…...

判断4位回文数-课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
实例1:判断4位回文数 所谓回文数,就是各位数字从高位到低位正序排列和从低位到高位逆序排列都是同一数值的数,例如,数字1221按正序和逆序排列都为1221,因此1221就是一个回文数;而1234的各位按倒序排列是43…...

【NLP】Word2Vec 介绍
Word2Vec 是一种非常流行的自然语言处理技术,它将每个单词表示为高维向量,并且通过向量之间的相似度来表示单词之间的语义关系。 1 One-Hot 编码🍂 在自然语言处理任务中,我们需要将文本转换为计算机可以理解的形式,即…...

3月6日,30秒知全网,精选7个热点
///石家庄地铁:在指定店铺购物金额不限 就可免费乘地铁 乘客只要在指定商铺或地铁站内36524便利店购物,便能得到一张当日乘车券,可免费乘坐地铁一次,不限里程 ///神州泰岳:公司语音机器人等产品能够进行多轮问答 公司…...

Python笔记 -- 字典
文章目录1、概述2、增删改查3、遍历3.1、遍历所有键值对3.2、分别遍历键和值4、嵌套4.1、字典列表4.2、在字典中储存列表4.3、在字典中储存字典1、概述 字典是一系列键值对,可将任何Python对象作为字典中的值 字典和列表容易混淆,列表也可用{} 字典是一…...

【独家】华为OD机试 - 滑动窗口(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...

MySQL调优 - SQL查询深度分页问题
一、问题引入 例如当前存在一张表test_user,然后往这个表里面插入3百万的数据: CREATE TABLE test_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id,user_id varchar(36) NOT NULL COMMENT 用户id,user_name varchar(30) NOT NULL COMMENT 用…...

0306spring--复习
一,spring是什么 Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架 理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架 优点࿱…...

动手实现一遍Transformer
最近乘着ChatGpt的东风,关于NLP的研究又一次被推上了风口浪尖。在现阶段的NLP的里程碑中,无论如何无法绕过Transformer。《Attention is all you need》成了每个NLP入门者的必读论文。惭愧的是,我虽然使用过很多基于Transformer的模型&#x…...

【Flutter入门到进阶】Flutter基础篇---弹窗Dialog
1 AlertDialog 1.1 说明 最简单的方案是利用AlertDialog组件构建一个弹框 1.2 示例 void alertDialog(BuildContext context) async {var result await showDialog(barrierDismissible: false, //表示点击灰色背景的时候是否消失弹出框context: context,builder: (context)…...

【操作系统】进程和线程的区别
文章目录1. 概述2. 进程3. 线程4. 协程5. 进程与线程区别1. 概述 进程和线程这两个名词天天听,但是对于它们的含义和关系其实还有点懵的,其实除了进程和线程,还存在一个协程,它们的关系如下: 首先,我们需要…...