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 ...
随机推荐
- kaola
考拉布局 CSS <style> * { margin: 0; padding: 0; } body { background-color: #f5f5f5; } .clearfix:af ...
- centos6.5升级python3.6并安装boto3模块
1.先升级openssl yum安装各种依赖,yum install gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel tar zxvf ...
- Django Rest Frame work 如何使用serializers序列化函数新手教程
Django Rest Frame work 如何使用serializers序列化 Django Rest Framework提供了serializers模块,用于序列化和反序列化模型实例 ...
- fix: because the volume group on the selected device also consist of physical volumes on other devices
because the volume group on the selected device also consist of physical volumes on other devices 目标 ...
- 92、kkfile打印当前页
使用kkfile预览pdf时,有肯能需要打印其中的某一张.如果pdf中有几百张,那么打印加载就会很慢.打印当前页就不会出现这个问题. 这个是我编译后的,有需要的请联系QQ: 1842988062
- map()函数应用
title: map()函数应用 author: 杨晓东 permalink: map()函数应用 date: 2021-10-02 11:27:04 categories: - 投篮 tags: - ...
- 36.Vim笔记
1.简介 $vim [filename] vim有三种操作模式,分别称为编辑模式.插入模式和命令模式 2.编辑模式 vim编辑模式的主要用途是在被编辑的文件中移动光标的位置.一旦光标移动到所要的位置, ...
- css如何将content、background、background-image生成的背景进行翻转
方法 transform: scaleX(-1); 本例是水平翻转180度,方向可修改X为Y/Z. 注意如果是content,需要设置display: inline-block/block;
- Elasticsearch Windows版安装配置
Elasticsearch简介 Elasticsearch是一个开源的搜索文献的引擎,大概含义就是你通过Rest请求告诉它关键字,他给你返回对应的内容,就这么简单. Elasticsearch封装了L ...
- vue3 vite等笔记
1.脚手架 vue-cli基于webpack封装,生态非常强大,可配置性也非常高,几乎能够满足前端工程化的所有要求.缺点就是配置复杂,甚至有公司有专门的webpack工程师专门做配置,另外就是webp ...