博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven工程搭建
阅读量:5278 次
发布时间:2019-06-14

本文共 2005 字,大约阅读时间需要 6 分钟。

1,建maven工程,设置仓库路径

选择quickstart

设置包名工程名称

 

仓库路径默认为.m2,自定义如下,先找到maven 的conf 目录下的settings.xml  打开文件搜索localRepository 修改路径

<!-- localRepository

| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository    ----------------默认.m2路径
-->
<localRepository>${user.home}/Documents/lxl/java/jar/Maven/repository</localRepository>

修改完会在preferences 中的local Repository显示最新路径,

 

 选中maven工作右键 更新,将jar下载到本地仓库

 

1,依赖包的查询

所有的依赖都是通过坐标来进行存储(GAV --groupid artifactid version)

有一些网上仓库提供了坐标的查询

mvnrepository.com,www.sonatype.org/nexus

gav写入pom.xml  先查本地库,没有再向网络下载

<dependency>

<groupId>org.hibernate</groupId>

<artifactId>hibernate-core</artifactId>

<version>5.2.10.Final</version>

</dependency>

 

也可以直接在pom.xml中搜索是否本地库有jar

pom.xml 选中dependencies -- add--弹框中输入你要的jar名称 如hibernate

 

修改maven的中央工厂,在maven-model-builer.jar里面 

目录:org.apache/maven/model  文件:pom-xxx.xml 配置了一个central

在自己的应用外面也配置一个central,url指向另外一个仓库即可

 

https://nexus.sourcesense.com/nexus/contnet/repositories/public/

 <pluginRepositories>

    <pluginRepository>

      <id>central</id>

      <name>Central Repository</name>

      <url>https://nexus.sourcesense.com/nexus/contnet/repositories/public/</url>

      <!--  <url>https://repo.maven.apache.org/maven2</url>-->

      <layout>default</layout>

      <snapshots>

        <enabled>false</enabled>

      </snapshots>

      <releases>

        <updatePolicy>never</updatePolicy>

      </releases>

    </pluginRepository>

  </pluginRepositories>

 

依赖 scope,依赖的传递性,A->C B->A  ==>B->C

基于scope依赖范围,默认compile 编译范围,编译打包都会用

test 测试范围 编译打包不用,不会传递

provided 编译测试引用  发布不用 如servlet的jar  在tomcat 中带有这些 如果打包在带上会冲突

runtime 运行时依赖编译不依赖

import 

 

传递引用的冲突问题

  1,a->b1.0 c->b1.1 d->a/c 这时在d的pom中,哪个依赖先写就使用先写的版本 所以d->1.0

   2, a->b1.0 c->b1.1 d->a/c f->d,c 如果路径长短不一致就选择最小路径的 所以f->b1.1

如果希望精确的控制依赖,可以使用依赖的排除功能

 

 

    <dependency>

    <groupId>org.konghao.user</groupId>

    <artifactId>user-log</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <exclusions>

    <exclusion>

    <groupId>log4j</groupId>

    <artifactId>log4j</artifactId>

    </exclusion>

    </exclusions>

    </dependency>

 

 

 

转载于:https://www.cnblogs.com/jiaozi-li/p/6792037.html

你可能感兴趣的文章
关于微信暴力加很申请
查看>>
06享元、责任链
查看>>
ubuntu如何部署tftp服务
查看>>
【Alpha版本】冲刺阶段——Day 8
查看>>
解决CentOS6.x或RedHat Linux 6.x版本不能通过System eth0以固定IP访问外网的问题
查看>>
(转)Expression Tree不完全入门
查看>>
Struts2的工作原理
查看>>
配置EditPlus使其可以编译运行java程序
查看>>
我眼中的Android IDE
查看>>
C++默认参数值函数
查看>>
java中的占位符\t\n\r\f
查看>>
7.14
查看>>
SDN2017 第一次作业
查看>>
MySQL通过frm 和 ibd 恢复数据过程
查看>>
AngularJs 学习笔记(2)
查看>>
关于元素优先级
查看>>
oo第一单元作业总结
查看>>
SRS源码——Listener
查看>>
web.xml 4.0 头
查看>>
Java面向对象抽象类案例分析
查看>>