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 ...
随机推荐
- java怎么产生随机数
随机数的产生在一些代码中很常用,也是我们必须要掌握的.而java中产生随机数的方法主要有三种: 第一种:new Random() 需要借助java.util.Random类来产生一个随机数发生器,也是 ...
- 【C语言】这种求结构体成员大小的方法,你可能需要了解一下~
在C语言编程中,有时候需要知道某结构体中某成员的大小,比如使用堆内存来存储结构体中的某成员时,需要知道该成员的大小,才好确定所需申请的空间大小.求某结构体中某成员的大小,你会怎么做? 例子: type ...
- Tensorflow学习笔记No.7
tf.data与自定义训练综合实例 使用tf.data自定义猫狗数据集,并使用自定义训练实现猫狗数据集的分类. 1.使用tf.data创建自定义数据集 我们使用kaggle上的猫狗数据以及tf.dat ...
- centos8平台使用loginctl管理登录用户与session
一,loginctl的用途: 控制 systemd 登录管理器 管理当前登录的用户和session 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/a ...
- php查看进程
index.php <?php /** * Created by PhpStorm. * User: mac * Date: 2020/4/23 * Time: 21:57 */ echo ...
- Centos7 安装python环境
保留python2 找到python所在位置,把python指向python2.7备份 [root@sun /usr/bin]# cd ~ [root@sun ~]# whereis python p ...
- Vue中封装axios组件实例
首先要创建一个网络模块network文件夹 里面要写封装好的几个组件 在config.js里面这样写 在index.js要这样写 core.js文件里面内容如下 然后要在main.js文件里面要设置 ...
- 5年Android程序员面试字节跳动两轮后被完虐,请查收给你的面试指南
大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助. 最近跟一个朋友聊天,他准备了几个月,刚刚参加完字节跳动面试,第二面结束后,嗯,挂了- 所以 ...
- Cocos2d-x extensions库使用问题解决方法
需要在加入头文件#include "cocos-ext.h" 1>e:\cocos\cocos2d-x\cocos2d-x-3.10\extensions\gui\cccon ...
- Docker容器和K8s添加Health Check
docker容器启动后,怎么确认容器运行正常,怎么确认可以对外提供服务了,这就需要health check功能了. 之前对health check的功能不在意,因为只要镜像跑起来了就是健康的,如果有问 ...