maven 笔记2
maven 中央工厂的位置:D:\dubbo\apache-maven-3.2.5\lib D:\dubbo\apache-maven-3.2.5\lib pom-4.0.0.xml repositories标签
url 标签
maven 默认scope是compile ,只有这个范围才能进行传递依赖
maven clean 命令是清除target目录下的东西
maven 主要生命周期: compile ,test ,package,install,deploy,
具体是这样的:
maven clean 命令是清除target目录下的东西
maven compile 命令是编译src-main下的东西
maven test 其实也包括两个过程,即maven test-compile 和 maven test,主要是编译src-test下的东西,然后运行测试代码,那么
该目录下的类名有点规律,如:
1) **/Test*.java :任何子目录下所有命名以 Test 开头的 Java 类。
2) **/*Test.java :任何子目录下所有命名以 Test 结尾的 Java 类。
3) **/*TestCase.java :任何子目录下所有命名以 TestCase 结尾的 Java 类。
这样才能执行maven test-compile命令和maven test命令
当然有时候你也可以跳过测试环节,即Skip Tests
maven package 就是将src-main目录下的东西打包放在target目录下
maven install 就是将target目录下的东西安装到本地m2中
maven deploy 就是将target目录下的东西发布到maven私服,以供他人使用。
maven 隐藏的变量一般获取:${project.****} ${project.xxx} 当前pom文件的任意节点的内容
没有搭建maven私服,默认就从全球中央工厂下载,使用nexus搭建maven 私服,就可以在settings.xml配置工厂,然后激活它,那么jar包就会从私服里某些工厂里下载jar包,和全球中央工厂里下载jar包。
当然也可以为一些工厂设置镜像,那么我们从这些工厂下载jar包时,它会指向我们从镜像里下载。而不是repository里的url,而是mirror里的url.
nexus 工厂用途大概介绍:hosted类型的工厂,有三个:3rd party,Release,Snapshots,
其中,3rd party表示第三方jar,能通过上传方式放在这个工厂里。
Releases表示开发中发布版本,是通过deploy命令放到这个工厂里。
Snapshots表示开发中快照版本,是通过deploy命令放到这个工厂里。
proxy类型的工厂表示从对应的全球中央仓库里下载jar包,有Central工厂(对应全球m2中央工厂),Apache Snapshots工厂,Codehaus Snapshots工厂,
group类型的工厂表示组合工厂,有Public Repositories 工厂
1.搭建maven '私服'2.配置工厂3.为工厂配置镜像,4.通过给工厂授权,将jar发布到私服对应的工厂里去。
配置从maven私服里某工厂下载jar到本地m2,可以用<repository>标签在pom.xml里配置,也可以在setting.xml里面配置。
例如:
<repository>
<id>user-release</id>
<name>user release resp</name>
<url>http://localhost:8081/nexus/content/repositories/cms-release/</url>
</repository>
如果引用的不是本地m2jar包,可以用这种格式:
<dependency>
<groupId>org.jasig.cas</groupId>
<artifactId>cas-server-core</artifactId>
<version>3.5.0</version>
<systemPath>F:/common/jar/sso/cas-server-core-3.5.0.jar</systemPath>
<scope>system</scope>
</dependency>
maven jar包发布到私服里:
如:
pom.xml文件:
<distributionManagement>
<repository>
<id>user-release</id>
<name>user release resp</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>user-snapshots</id>
<name>user snapshots resp</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
settings.xml 文件授权:
<server>
<id>user-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>user-release</id>
<username>admin</username>
<password>admin123</password>
</server>
maven:有时候遇到问题,可以先尝试清除本地m2.或者看它报哪些jar,对应的到m2里面去看看。



maven 笔记2的更多相关文章
- maven笔记--持续更新
笔记: 在创建maven项目的时候,如果用到servlet的时候,需要导入包,这时候,需要导入本地仓库的jar包,即依赖包.语法如下 <dependency> <groupId> ...
- Maven笔记---超详细
显眼位置标注来源:此文章为B站课程黑马程序员Maven全套教程笔记,由本人整理. Maven简介 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM) POM (P ...
- maven笔记
jar间接依赖: 被依赖的jar的范围要设置成compile,因发布会包含test范围依赖的jar包. 建立项目之间的联系:先在pom中设定依赖关系,然后可以引用了 .conf: C ...
- Maven 笔记
maven DOS 打包命令:maven项目 cd 进入项目根目录执行 mav clean package;
- 框架Maven笔记系列 一 基础
主题:SpringMVC 学习资料参考网址: 1.http://www.icoolxue.com 2.http://maven.apache.org/ 1.Maven解决了什么问题? Maven基于项 ...
- maven笔记-入门(helloWorld)
maven: pom.xml:文件 groupId,artifactId,Version定义了一个项目的基本坐标 groupId:定义了项目属于哪个组,往往与项目所在的组织和公司有关 artifact ...
- Maven笔记(二)仓库
1.仓库布局 任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这就是Maven的仓库布局方式 路径与坐标的对应关系为:groupId/artifactId/version/ ...
- Maven笔记(一)
1. 坐标 Maven坐标为各种构件引入了秩序,任何一个构件都有必须明确定义自己的坐标,而一组Maven坐标是通过一些元素定义的,它们是groupId, artifactId, version, pa ...
- maven笔记学习
一.修改setting.xml文件中的镜像 在导入他人项目或者在导入项目时,我们会出现在项目中不能识别maven配置的库文件的情况那么我们可以重新下载本地库, 首先我们可以修改我们安装的maven环境 ...
- maven笔记-将本地jar包打包进可执行jar中
参考资料:http://www.cnblogs.com/richard-jing/archive/2013/01/27/Maven_localjar.html 使用本地jar <dependen ...
随机推荐
- 【组合计数】visit
题目大意 从 \((0,0)\) 开始,每次只可走上下左右一个单位长度,可走重复路,求第 \(T\) 步正好走到 \((n,m)\) 的方案数. 答案要求对 \(MOD\) 取模,\(MOD\) 保证 ...
- windbg加载符号表
0x00 前言 在使用windbg调试windows中的程序时会经常碰到一些系统的dll里面的一些函数调用,有些函数是没有具体函数名的,这对于调试非常不利,基于此,微软针对windows也发布了很多系 ...
- fedora30平台安装docker 19.03
一,下载docker 1,说明:docker的打包对于fedora的支持很及时, 所以在fedora 30/31上都可以直接使用官方的rpm包 下载地址: https://download.docke ...
- 不死的小强 .net core 微服务 快速开发框架 Viper 限流
1.Viper是什么? Viper 是.NET平台下的Anno微服务框架的一个示例项目.入门简单.安全.稳定.高可用.全平台可监控.底层通讯可以随意切换thrift grpc. 自带服务发现.调用链追 ...
- CAS 算法与 Java 原子类
乐观锁 一般而言,在并发情况下我们必须通过一定的手段来保证数据的准确性,如果没有做好并发控制,就可能导致脏读.幻读和不可重复度等一系列问题.乐观锁是人们为了应付并发问题而提出的一种思想,具体的实现则有 ...
- Maven2 ---- 安装及配置
Maven详解(二)------ Maven的安装配置 目录 1.下载 Maven 2.配置 Maven 环境变量 3.查看 Maven 环境变量是否配置成功 4.在 eclipse 中集成 Ma ...
- Error in mounted hook: "TypeError: handlers[i].call is not a function" 原因
Error in mounted hook: "TypeError: handlers[i].call is not a function" 百度翻译 安装钩子中的错误:" ...
- dubbo-高可用-负载均衡配置
在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用. 负载均衡策略 1.Random LoadBalance随机,按权重设置随机概率.在一个截面上碰撞的概率高,但调用量越 ...
- 前后端分离Java后端主流开发环境框架20200622
开发环境: IDE:IntelliJ IDEA 2017+ DB: mysql5.7.4.PostgreSQL.mongoDB.redis JDK:JDK1.8+ Maven:Maven 3.2.3+ ...
- Docker部署Mysql, Tomcat, Nginx, Redis
1. Mysql部署 问题及解决方案 容器内的网络和外部机器不能直接通信 外部机器和宿主机可以直接通信 宿主机和容器可以直接通信 当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射 ...