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. swoole 客户端和服务端不断通信

    server.php <?php class Chat { const HOST = '0.0.0.0';//ip地址 0.0.0.0代表接受所有ip的访问 const PART = 9501; ...

  2. C# 将dataset数据导出到excel中

    //添加引用 NPOI.dll //添加 using NPOI.HSSF.UserModel; /// <summary> /// 导出数据到Excel /// </summary& ...

  3. django—中间件相关

    中间件 django的中间件是一个全局范围内处理django的请求和响应的框架级别的钩子. 作用:对于一个请求到达视图函数的前后进行处理 本质:中间件的本质是一个类,类中定义了特定的方法,Django ...

  4. 没事学学KVM(二)创建一台虚拟机

    首先通过VMware创建一台虚机,建议内存大于1G,并开启CPU 的inter vt-x功能,安装好对应的软件后,yum install -y qemu-kvm* virt-* libvirt* 准备 ...

  5. Java jvm 类加载 反射

    Java 底层 jvm,类加载,反射 Java语言是跨平台语言,一段java代码,经过编译成class文件后,能够在不同系统的服务器上运行:因为java语言中有虚拟机jvm,才有了跨平台,java为了 ...

  6. Parcelable使用(二)

    简单的Activity间数据传递用Intent,复杂的用Parcelable,举个栗子第一个activity写入Parcel的String类型的name和int类型的age,第二个activity取出 ...

  7. uart接口介绍和认识

    接口/总线/驱动 UART (Universal Asynchronous Receiver/Transmitter) 通用异步收发器. UART是用于控制计算机与串行设备的芯片.有一点要注意的是,它 ...

  8. 关于GIT配置公私钥

    问题:pull代码时显示 原因:公钥与私钥对不上,或者没有配置导致 解决: 1.生成私钥:TortoiseGIT → PuttyGen → Generate(点击后鼠标晃动会加速)→Save Priv ...

  9. 18 . Go之操作Mysql和sqlx使用

    安装mysql wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum -y localinstall ...

  10. 详解git rebase,让你走上git大神之路

    在之前的文章当中我们介绍了git merge的用法,明白了通过git merge我们可以合并两个分支的改动.这样我们就可以很方便地进行协同开发了,每个人都在自己的分支下开发代码,开发完毕之后再一起合并 ...