• maven工程搭建


    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>

     

     

     

  • 相关阅读:
    线程池和进程池
    初识数据库
    线程q
    event事件
    死锁和递归锁
    信号量
    PythonStudy——线程中的几种消息队列
    PythonStudy——GIL Global Interpreter Lock 全局解释器锁
    PythonStudy——异步回调
    PythonStudy——日志模块 logging
  • 原文地址:https://www.cnblogs.com/jiaozi-li/p/6792037.html
Copyright © 2020-2023  润新知