【Java从0到架构师,mysql视频教程推荐
pom.xml
pom.xml 是 Maven 项目的核心配置文件,根元素是 project。project 的常用子元素如下表所示:
groupId、artifactId、version 组成一个 Maven坐标 (Coordinate),能够唯一的确定一个项目
构建生命周期
构建生命周期,描述了构建的过程。Maven 内置了 3 个构建生命周期:
clean(清理)
default(默认,重点关注)
site(站点)
构建生命周期由 phase(阶段)组成
phase 可以跟 plugin goal(插件目标)绑定
plugin goal 代表 1 个特定的任务
一旦某个 phase 被执行,就会执行其绑定的所有 goal
通过命令 mvn 插件:help
可以查看插件包含的所有 goal
- 比如
mvn archetype:help
default 生命周期
default 生命周期由下表中的 phase 组成:
使用命令 mvn package
就会按顺序执行 validate、compile、test、package 这几个阶段
常用命令
mvn archetype:generate
:创建 Maven 项目
mvn clean
:清楚 target
mvn clean package
:先执行 clean,再执行 package
dependency 中 scope 的取值
compile:默认。编译依赖关系在所有类路径中均可用。此外,这些依赖项会传递到相关项目
provided:仅在编译和测试类路径上可用,并且不可传递。希望JDK或容器在运行时提供它
runtime:依赖关系不是编译所必需,而是运行所必需的。它在运行时和测试类路径中,但不在编译类路径中
test:依赖关系对于正常使用该应用程序不是必需的,并且仅在测试编译和执行阶段可用。它不是可传递的
system:必须显式提供 jar 的位置(可以通过 systemPath
标签指定),不会去 Maven 仓库中查找
Maven 常见操作
=============================================================================
初始化配置:环境变量、仓库位置、配置镜像
先配置 JAVA_HOME,然后配置 MAVEN_HOME,添加 %MAVEN_HOME%/bin 到 PATH 中
修改仓库位置:在 %MAVEN_HOME%/conf/settings.xml 的 标签中添加1个
<localRepository>F:\Dev\Java\.m2\repository</localRepository>
提高仓库的下载速度:在 %MAVEN_HOME%/conf/settings.xml 的 标签中添加1个
<mirror><id>aliyun</id><name>aliyun</name><url>https://maven.aliyun.com/repository/public</url><mirrorOf>central</mirrorOf></mirror>
修改 Maven 的 JDK 版本
方法 1:在 pom.xml 中添加属性(每个 Maven 项目都要添加)
<properties><maven.compiler.source>14</maven.compiler.source><maven.compiler.target>14</maven.compiler.target><maven.compiler.compilerVersion>14</maven.compiler.compilerVersion></properties>
方法 2:在 pom.xml 中添加插件(每个 Maven 项目都要添加)
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>14</source><target>14</target></configuration></plugin>
方法 3:在 %MAVEN_HOME%/conf/settings.xml 的 标签中添加 1 个
这是一种一劳永逸的办法,不需要去修改每一个 Maven 项目的 pom.xml,但其他人可能无法运行该项目
<profile><id>jdk14</id><activation><activeByDefault>true</activeByDefault><jdk>14</jdk></activation><properties><maven.compiler.source>14</maven.compiler.source><maven.compiler.target>14</maven.compiler.target><maven.compiler.compilerVersion>14</maven.compiler.compilerVersion></properties></profile>
命令行新建 Maven 项目
方法 1:
在命令行输入:
mvn archetype:generate
,会让我们选择项目类型默认值是 7, maven-archetype-quickstart,是一个普通的 Java 项目
如果希望创建一个 web 项目,输入 10, maven-archetype-webapp
输入 groupId、artifactId、version、package
如果希望 version、package 使用默认值,直接敲回车即可
最后输入 y 表示确认,项目就创建完毕了
方法 2:用命令行配置好创建项目的各种参数
mvn archetype:generate -DgroupId=com.mj.maven -DartifactId=helloworld -Dversion=1.0-RELEASE -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart
IDEA 导入 Maven 项目
选择 pom.xml 进行导入
IDEA 新建 Maven 项目(Web 项目)
生成 Runnable Jar
方法 1:maven-jar-plugin
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.0.2</version><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib</classpathPrefix><mainClass>主类</mainClass></manifest></archive><finalName>jar的文件名</finalName></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>3.1.2</version><executions><execution><!-- <phase>package</phase> --><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory></configuration></execution></executions></plugin>
方法 2:maven-assembly-plugin
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.3.0</version><configuration><archive><manifest><mainClass>主类</mainClass></manifest></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><finalName>jar的文件名</finalName><appendAssemblyId>false</appendAssemblyId></configuration><executions><execution><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin>
方法 3:maven-shade-plugin
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.3</version><executions># 总结对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)![image](https://img-blog.csdnimg.cn/img_convert/528918d131eb2ae6a0aab3e953fb8496.png)**需要面试题以及项目大纲的朋友点赞+收藏后,[点击这里免费](https://gitee.com/vip204888/java-p7)获取!诚意满满!!****Java面试精选题、架构实战文档:[传送门](https://gitee.com/vip204888/java-p7)****整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~**ugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.3</version><executions># 总结对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)[外链图片转存中...(img-8Hf0Uy5H-1628506747834)]**需要面试题以及项目大纲的朋友点赞+收藏后,[点击这里免费](https://gitee.com/vip204888/java-p7)获取!诚意满满!!****Java面试精选题、架构实战文档:[传送门](https://gitee.com/vip204888/java-p7)****整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~****你的支持,我的动力;祝各位前程似锦,offer不断!**
【Java从0到架构师,mysql视频教程推荐相关推荐
- 【Java从0到架构师】MySQL 基础
MySQL MySQL MySQL 的使用步骤 数据库的内部存储细节 GUI 工具 SQL 语句 DDL 语句 DDL 语句 - 数据库 DDL 语句 - 表 常用数据类型 - 数字类型 常用数据类型 ...
- 【Java从0到架构师(1),Java中高级面试题总结(全面)
JSP 九大内置对象 MySQL 基础 + 多表查询 [Java从0到架构师]MySQL 基础 MySQL MySQL 的使用步骤 数据库的内部存储细节 GUI 工具 SQL 语句 DDL 语句 DD ...
- 【Java从0到架构师】RocketMQ 使用 - 发送消息、接收消息、特殊消息
RocketMQ 消息中间件 入门案例 NameServer 地址 发送消息 同步发送消息 异步发送消息 一次性发送消息 生产者组.消息封装 接收消息 消费方式:推式消费.拉式消费 消息方式:集群模式 ...
- 【Java从0到架构师】Redis 进阶 - 持久化(RBD、AOF)、高可用(主从复制、哨兵机制、Cluster)
Redis 原理与实战 持久化 Redis 持久化 - RDB Redis 持久化 - AOF AOF 文件重写机制 Redis 高可用 Redis 主从复制 搭建主从复制环境 全量复制和部分复制 R ...
- 【Java从0到架构师】Redis 基础 - 数据类型
Redis 原理与实战 Redis 基础 为什么 Redis 这么快? Redis 安装.启动 Redis 常用配置 Redis 数据类型 通用命令 String - value 可以是字符串.数值. ...
- 【Java从0到架构师】Linux 应用 - 软件包管理、软件安装
Linux 应用 - 软件包管理.软件安装 软件包管理器 rpm yum 软件的安装 jdk 1.8 mysql 5.7 tomcat8 Java 从 0 到架构师目录:[Java从0到架构师]学习记 ...
- 【Java从0到架构师】Zookeeper - 系统高可用、分布式的基本概念、Zookeeper 应用场景
分布式基石 Zookeeper 框架全面剖析 系统高可用 集群 - 主备集群.主从集群.普通集群 分布式(系统部署方式) 微服务(架构设计方式) 分布式的基本概念 分布式存储.分布式计算 分布式协调服 ...
- 【Java从0到架构师】项目实战 - 驾考(旧)- Freemarker、MyBatis-Plus
项目实战 - 驾考(旧)- Freemarker.MyBatis-Plus 各种 Object Freemarker 简单使用 常用功能 集成到 SpringBoot MyBatis-Plus 简单使 ...
- 【Java从0到架构师】SpringBoot - MyBatis
SpringBoot - MyBatis 集成 MyBatis 引入依赖 数据源配置 - 源码 MyBatis 配置 - 源码 扫描 Dao MyBatis 主配置 - XML.注解.applicat ...
- 【Java从0到架构师】Maven - 依赖冲突、分模块构建项目
SpringBoot - Maven 补充 依赖冲突 解决方案 - dependencyManagement 自定义属性 分模块构建项目 继承 - parent 聚合 - modules 依赖 - d ...
最新文章
- Xamarin.Android开发实践(十八)
- C与指针、C陷阱与缺陷
- 初中数学知识点总结_初中数学知识点总结大全_经典版_
- java 公因数_Java程序(最大公因数与最小公倍数)
- WAMP + Zend Framework + Zend Studio For Eclipse 开发环境搭建
- 制作登录注册密码找回网站常用控件
- Razor 中的@rendersection
- 加快Linux上yum下载安装包的速度(以CentOS 7,安装gcc为例)
- 学习bind源代码,比较bind的方式绑定函数在在内存使用上优于箭头函数
- 学习自动驾驶技术 学习之路_一天学习驾驶
- 牛腩新闻发布系统(一)
- 微信小程序查询数据库总条数
- Android 获取地理位置的经度和纬度
- 数据库系统原理练习题
- linux命令行was集群启停,was集群架构设计
- 谁将成为中国版底特律?
- 【Python123】鸡兔同笼
- Java(13)- 抽象类
- layer icon图标汇总
- 使用Atom打造无懈可击的Markdown编辑器
热门文章
- 【SpringCloud】高可用Eureka
- EfficientNetV2震撼发布!87.3%准确率!模型更小,训练更快!谷歌大脑新作
- 3D目标检测2021
- some of the strides of a given numpy array are negative
- av_interleaved_write_frame -22
- caffe 编译中出现的错误——fatal error: hdf5.h: 没有那个文件或目录
- Windows7-win10开启IPv6亲测最有效方法
- H3C 交换机S6520X软件版本升级
- php里面的log是什么文件夹,用PHP生成自己的LOG文件
- mysql实习生笔试题_2014阿里实习生面试题MySQL如何实现索引的