Maven-高级
Mvaen 高级
1 导入其他工程 资源文件
先install到仓库里
然后根据组织名项目名版本号写在dependence里正常导入
<dependence>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
</dependence>
2 聚合
拥有一个父模块,解决版本一起迭代更新的问题
新建一个Maven工程 , 只留下一个pom文件
在pom里添加
<packaging>pom</packaging>
<!-- 管理的工程列表 -->
<modules>
<module>../ssm_pojo</module>
<module>../ssm_dao</module>
<module></module>
<module></module>
</modules>
代表着专门用于做项目管理
3 继承
由父工程做依赖 及其 版本控制
<!--声明此处进行依赖版本管理 -->
<dependencyManagement>
<dependencies>
<dependence></dependence>
<dependence></dependence>
<dependence></dependence>
</dependencies>
</dependencyManagement>
在子工程里导入父工程
<parent>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<relativePath>../ssm/pom.xml</relativePath>
</parent>
<!-- 去掉groupId version -->
<artifactId></artifactId>
然后在子工程的依赖中 , 引入依赖就不需要自己去指定版本了 , 可以直接用父工程的依赖版本
4 聚合与继承
5 属性
<properties>
<spring.version>5.1.9.RELEASE</spring.version>
</properties>
<dependencies>
<dependence>
<groupId></groupId>
<artifactId></artifactId>
<version>${spring.version}</version>
</dependence>
</dependencies>
6 版本管理
6.1 工程版本
6.2 版本号约定
7 资源配置
在pom中的添加变量 , 同样可以在properties文件中用${}引用,然后需要在pom中配置resources
在任意配置文件中加载pom文件中定义的属性
后面其实可以用nacos 配置中心来代替
<resources>
<resource>
<directory>${project.basedir}/ssm_dao/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/ssm_dao/src/main/resources</directory>
<filtering>true</filtering>
</testRsource>
</testResources>
8 环境配置 - 多环境
<profiles>
<!-- 定义具体的环境:生产环境 -->
<profile>
<id>pro_env</id>
<!-- 定义环境中专用的属性值 -->
<properties>
<jdbc.url>xxxx</jdbc.url>
</properties>
<!-- 设置默认启动 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- 开发环境 -->
<profile>
<id>dev_env</id>
<properties>
<jdbc.url>aaaa</jdbc.url>
</properties>
</profile>
</profiles>
然后需要在打包的时候指定环境名
新建一个maven指令
install -P dep_env
9 跳过测试
9.1 应用场景
9.2 跳过方法
idea中点击右边的maven组件,然后上面有个闪电的标志,点击,看到test的生命周期被中划线划掉,即可跳过
直接用命令行的方式来执行生命周期 -D skipTests
配置插件来跳过测试
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
9.3 选定测试的内容
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<includes>
<include>
**/UserServiceTest.java
</include>
</includes>
<excludes>
</excludes>
</configuration>
</plugin>
10 私服
10.1 下载 与 启动
Nexus - maven私服产品
启动:
nexus /run nexus
访问地址: localhost:8081
./etc目录下的 nexus-default.properties文件可以修改对应的起点端口号
./bin/nexus.vmoptions可以修改最大内存, 日志等参数
10.2 私服资源获取
10.2.1 仓库分类
10.2.2 进行仓库分组
进入\sonatype-work\nexus3\admin.password
点击,里面存放了密码
用户名:admin
登录进去后可以设置新密码:123456
代理仓库
宿主仓库
仓库组:
创建一个宿主仓库
将新创建的tets-release仓库加到仓库组中
然后就可以在浏览的界面中上传文件了
10.3 本地仓库使用私服
上传地址:宿主地址
下载地址:组地址
进入maven本地配置中,配置访问私服
<server>
<id>test-release</id>
<username>admin</username>
<password>123456</password>
</server>
<server>
<id>test-snapshots</id>
<username>admin</username>
<password>123456</password>
</server>
<mirror>
<id>nexus-test</id>
<mirrorOf>*</mirrorOf>
<name>私服仓库</name>
<url>http://127.0.0.1:8081/repository/maven-public/</url>
</mirror>
10.4 发布
添加maven的pom的配置
<distributionManagement>
<repository>
<id>test-release</id>
<url>http://127.0.0.1:8081/repository/test-release/</url>
</repository>
<repository>
<id>test-snapshots</id>
<url>http://127.0.0.1:8081/repository/test-snapshots/</url>
</repository>
</distributionManagement>
然后生命周期reploy发布
Maven-高级的更多相关文章
- maven 高级玩法
maven 高级玩法 标签(空格分隔): maven 实用技巧 Maven 提速 多线程 # 用 4 个线程构建,以及根据 CPU 核数每个核分配 1 个线程进行构建 $ mvn -T 4 clean ...
- Maven高级:01.maven分模块构建&&02.私服的应用
IntelliJ IDEA 2018.3.6 x64 07 Maven高级:01.maven分模块构建(上) 07 Maven高级:01.maven分模块构建(中) 07 Maven高级:01.mav ...
- 【Maven】Maven 高级应用
Maven 高级应用 Maven 基础 Maven 是一个项目管理工具,它有如下好处: 节省磁盘空间 可以一键构建 可以跨平台使用 依赖传递和管理,提高开发效率 一键构建:Maven 自身集成了 To ...
- maven高级笔记
Maven高级 1.maven基础知识回顾 1.1 maven介绍 maven 是一个项目管理工具,主要作用是在项目开发阶段对Java项目进行依赖管理和项目构建. 依赖管理:就是对jar包的管理.通过 ...
- Maven 高级应用
Maven 的高级应用主要体现在 ==依赖==,==聚合==,==继承== * 依赖 就是在当前项目的pom.xml 总引入依赖的坐标 最最经常用到的 <dependencies> < ...
- maven高级学习
上一篇<maven是什么>介绍了最初级的maven学习,今天就趁着周末的大好时光一起学习下maven的高级知识吧. 1.maven工程要导入jar包的坐标,就必须要考虑解决jar冲突 1) ...
- Maven高级应用--编译全模块包-dist包
1. 在需要生成dist包的模块级别,新建文件夹xxx-xxxx-dist 2. 进入目录,新建pom.xml,建议copy 3. dependencies节点,把要编译成全局包的应用引入进来 < ...
- 22 Maven高级应用
1.Maven基础知识回顾 maven是一个项目管理工具.依赖管理:maven对项目中的jar包的管理过程.传统的工程我们直接将jar包放置到项目中. maven工程真正的jar包放置在仓库中,项目中 ...
- Maven高级
第一章 Maven解决冲突的方式 1.1 第一声明者优先原则 那个jar包的坐标在pom.xml文件上属于靠上的位置,这个jar包就是先声明的.先声明的jar包坐标下的依赖包,可以优先进入项目中. 示 ...
- Java框架--SSM&Oracle&Maven高级
〇.内容介绍 一.MyBatis01:框架概述.环境搭建及入门案例.自定义框架 1.介绍 框架:封装细节,是开发中的解决方案 三层架构与SSM的关系 表示层web:SpringMVC框架 业务层ser ...
随机推荐
- liunx设置QQ邮箱报警
1.先安装一个软件包, 2.先登录电脑QQ邮箱->设置->账户->账户安全前两条选择开启,并生成授权码,授权码很重要很重要,千万不要泄露. 3.在liunx命令行输入 :vi /e ...
- ubuntu22.04LTS下编译glfw
环境准备 # 预装cmake sudo apt install cmake # 下载源码 git clone https://github.com/glfw/glfw.git 编译 # cmake初始 ...
- 实验室服务器运维踩坑o.0
先说背景:实验室新配了一台Dell T640服务器,双3090, 512G内存, 5 x 8T硬盘(RAID5),2 x 1T固态(RAID1),配置很够用但就是搭建运维踩了很多坑,以下是主要完成的几 ...
- Mybatis拦截器,修改Date类型数据。设置毫秒为0
1:背景 Mysql自动将datetime类型的毫秒数四舍五入,比如代码中传入的Date类型的数据值为 2021.03.31 23:59:59.700 到数据库 2021.04.01 0 ...
- Rocky linux command-1
在Linux下一切皆文件 everything is file,包括目录也是文件的一种而这些文件被分为七种类型: • -:普通文件 • d: 目录文件 • b: 块设备 • c: 字符设备 • l: ...
- 前后端分离--token过期策略方案1
https://blog.csdn.net/weixin_38827340/article/details/86287496?utm_medium=distribute.pc_aggpage_sear ...
- Vmware workstation虚拟机导入到esxi虚拟机
VMware Workstation 与 ESXi 的主要区别 VMware Workstation是直接在windows系统下安装软件,安装后再在软件里面安装虚拟机,而ESXi相当于一个linux操 ...
- 如何在Debian10镜像中设置Nginx引擎模块
目前,我们较多的服务器WEB环境都是用的Nginx引擎,我们采用服务器的目的是可以获取到更多的资源,而且建站数量是不受限制的.我们可以根据自己需要配置Nginx,可以自定义特定域的设置,允许您在单个服 ...
- studiostyl.es网站scheme文件无法下载
原因网站引用Google的服务 解决方法:查看网页源码.选择选取页面中的元素,选择download按钮,如下图所示 downloadExisting后面的数字代表主题的ID. 在网站中输入https: ...
- 爬取白鲸nft排名前25项目,持有nft大户地址数据。
https://moby.gg/rankings?tab=Market SELECT address '钱包地址', COUNT (1) '持有nft项目数', SUM (balance) '持有nf ...