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的更多相关文章

  1. maven笔记--持续更新

    笔记: 在创建maven项目的时候,如果用到servlet的时候,需要导入包,这时候,需要导入本地仓库的jar包,即依赖包.语法如下 <dependency> <groupId> ...

  2. Maven笔记---超详细

    显眼位置标注来源:此文章为B站课程黑马程序员Maven全套教程笔记,由本人整理. Maven简介 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM) POM (P ...

  3. maven笔记

      jar间接依赖:  被依赖的jar的范围要设置成compile,因发布会包含test范围依赖的jar包.   建立项目之间的联系:先在pom中设定依赖关系,然后可以引用了    .conf:  C ...

  4. Maven 笔记

    maven DOS 打包命令:maven项目 cd 进入项目根目录执行 mav clean package;

  5. 框架Maven笔记系列 一 基础

    主题:SpringMVC 学习资料参考网址: 1.http://www.icoolxue.com 2.http://maven.apache.org/ 1.Maven解决了什么问题? Maven基于项 ...

  6. maven笔记-入门(helloWorld)

    maven: pom.xml:文件 groupId,artifactId,Version定义了一个项目的基本坐标 groupId:定义了项目属于哪个组,往往与项目所在的组织和公司有关 artifact ...

  7. Maven笔记(二)仓库

    1.仓库布局 任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这就是Maven的仓库布局方式 路径与坐标的对应关系为:groupId/artifactId/version/ ...

  8. Maven笔记(一)

    1. 坐标 Maven坐标为各种构件引入了秩序,任何一个构件都有必须明确定义自己的坐标,而一组Maven坐标是通过一些元素定义的,它们是groupId, artifactId, version, pa ...

  9. maven笔记学习

    一.修改setting.xml文件中的镜像 在导入他人项目或者在导入项目时,我们会出现在项目中不能识别maven配置的库文件的情况那么我们可以重新下载本地库, 首先我们可以修改我们安装的maven环境 ...

  10. maven笔记-将本地jar包打包进可执行jar中

    参考资料:http://www.cnblogs.com/richard-jing/archive/2013/01/27/Maven_localjar.html 使用本地jar <dependen ...

随机推荐

  1. linux centos 02

    1.PS1变量,命令提示符的修改 PS1="[\u@\h \W]\$" \u  代表 用户 @   占位符 \h  主机名 \W   工作路径的最后一位 \t  \w   工作路径 ...

  2. 使用leveldb

    C++引入leveldb 编译安装: git clone --recurse-submodules https://github.com/google/leveldb.git cd leveldb m ...

  3. docker设置http访问

    1 编辑配置文件    vim /etc/docker/daemon.json { "registry-mirrors": ["https://a4fyjv0u.mirr ...

  4. MySQL 主从复制原理不再难

    上篇我们分析过 Binlog 日志的作用以及存储原理,感兴趣的可以翻阅: 一文带你了解 Binlog 日志 Binlog 日志主要作用是数据恢复和主从复制.本身就是二进制格式的日志文件,网络传输无需进 ...

  5. Nacos快速入门

    什么是 Nacos Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供 ...

  6. .net core autofac asyncinterceptor 异步拦截器帮助包

    autofac使用拦截器实现AOP,是基于Castle.Core的.然而Castle.Core并未提供原生异步支持.所以需要使用帮助类实现,这在autofac官方文档的已知问题中有详细说明: http ...

  7. OpenCV开发笔记(七十二):红胖子8分钟带你使用opencv+dnn+tensorFlow识别物体

    前言   级联分类器的效果并不是很好,准确度相对深度学习较低,本章使用opencv通过tensorflow深度学习,检测已有模型的分类.   Demo       可以猜测,1其实是人,18序号类是狗 ...

  8. 第三章 MySQL的多实例

    一.MySQL服务构成 1.MySQL程序结构 1.连接层 2.sql层 3.存储引擎层 2.MySQL逻辑结构 1.库 2.表:元数据+真实数据行 3.元数据:列+其它属性(行数+占用空间大小+权限 ...

  9. Spark执行失败时的一个错误分析

    错误分析 堆栈信息中有一个错误信息:Job aborted due to stage failure: Task 1 in stage 2.0 failed 4 times, most recent ...

  10. 【应用服务 App Service】App Service使用Git部署时,遇见500错误

    问题描述 Azure App Service在部署的时候支持多种方式,如Zip,VS 2019, VS Code,或者是Git部署,当使用Git部署遇见500错误时,可以通过其他的部署方式来验证是否也 ...