美文网首页
05|第五课:依赖排除以及依赖有效性及通过Maven整合多个项目

05|第五课:依赖排除以及依赖有效性及通过Maven整合多个项目

作者: 木头amo | 来源:发表于2019-01-24 11:01 被阅读13次

    一、历史回顾

    (一)、Maven依赖

    1、依赖的有效性分别是:compile(默认)、test 、provided。

    二、Maven依赖

    (一)、Maven依赖排除

    1、依赖排除

    A.jar ---> B.jar,当我们通过Maven引入A.jar时,会自动引入B.jar。但是这里只想要A.jar,不想要自动引入B.jar。

    A.jar(x.java,y.java,z.java)      B.jar(p.java,c.java,i.java)

    A.jar和B.jar之间的依赖的本质:z.java ---> c.java。此时有个人对A.jar很熟悉,只使用A.jar中的x.java和y.java。那么不引用B.jar也是可以的,将B.jar排除。这就是依赖排除。

    再次强调:在在Eclipse的pom.xml中增加完依赖后,需要maven ---> update Project。

    依赖排除:

    依赖排除

    例:比如引入spring-context.jar。

    引入前:

    引入jar包前

    引入后:

    引入jar包后

    引入spring-context.jar后,会自动引入spring-core.jar、spring-aop.jar、spring-beans.jar等jar。目前这里就像引入spring-context.jar,其他的管理的不想引入。就使用“<exclusions>”以及其中的“<exclusion>”标签。具体操作如下图所示:

    依赖排除

    2、依赖的传递性

    依赖的传递:由A.jar ---> B.jar ---> C.jar,要想A.jar ---> C.jar,当且仅当B.jar依赖于C.jar的范围是compile。

    例:把两个项目整合起来,一个叫Demo1,另一个叫Demo2。Demo2要是使用Demo1,这个时候需要将Demo1放到仓库中才能被Demo2使用到。

    图示

    Demo1项目中的HelloWorld.java的doSomething方法,被Demo2项目的SayHelloWorld.java的doInvokeDoSomething方法调用。这是两个不同的项目。

    Demo1项目:

    项目代码展示

    将Demo1,使用Maven命令install上传到Maven本地库。

    执行install命令后

    Demo2项目:

    java引用另一个项目的代码

    Demo2的测试代码:

    Demo2的测试代码

    pom.xml的配置信息:

    pom.xml的配置信息

    最后,使用Maven的test命令进行测试。

    Demo2的测试

    总结:

    多个maven项目(模块)之间如何依赖:p项目依赖于--->q项目

    1、p项目install到本地仓库

    2、q项目依赖:

    依赖

    相关文章

      网友评论

          本文标题:05|第五课:依赖排除以及依赖有效性及通过Maven整合多个项目

          本文链接:https://www.haomeiwen.com/subject/shmxdqtx.html