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 ...
随机推荐
- OpenLayer——绘制带箭头的线
绘制带箭头的线,计算相对复杂,多少是有点影响性能了.更简单的做法:初始.目标点用不同的点进行强调即可. <!DOCTYPE html> <html lang="en&quo ...
- Oracle虚拟机与主机共享设置
VM中linux与主机的文件共享 1.打开 Oracle VM VirtualBox 点击 [控制] [设置] [数据空间] 添加你所希望共享的文件夹
- Linux 文件编码操作enca[适用Mac]
查看文件编码: enca file.csv 修改文件编码 enca -x UTF-8 file.csv
- pull request 猜想
先从某个地方 fork 一个项目, 我上传一个 git commit, 然后自动显示是否要 pull request, 点 是, 然后就发送到 charger 那里去了.1, git fork,2, ...
- Andorid 11获取外部存储权限方法
private void requestmanageexternalstorage_Permission() { if (Build.VERSION.SDK_INT >= Build.VERSI ...
- tomcat前后端项目部署及调优
第1章 tomcat简介Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache,Sun和其他一些公司及个人共同 ...
- Tensorflow框架实现中的“三”种图
https://zhuanlan.zhihu.com/p/31308381 图(graph)是 tensorflow 用于表达计算任务的一个核心概念.从前端(python)描述神经网络的结构,到后端在 ...
- logrotate配置记录
对于一些比较频繁又没有太大意义的log,可以设定出更严格的切割策略 see https://blog.csdn.net/liuxiao723846/article/details/100120058 ...
- HDLbits——Lfsr5
Build this LFSR. The reset should reset the LFSR to 1 module top_module( input clk, input reset, // ...
- EIRENE GSM-R编码计划
Numbering plan overview This appendix provides an overview of the numbering plan as defined in this ...