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

一、历史回顾

(一)、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。

依赖排除:

9438859-e43d109b06228a9e.jpg
依赖排除

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

引入前:

9438859-780aa1a7bd37564b.jpg
引入jar包前

引入后:

9438859-62c104badc1b49d5.jpg
引入jar包后

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

9438859-4fe320d4a01862a0.jpg
依赖排除

2、依赖的传递性

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

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

9438859-9884059cefa380d9.jpg
图示

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

Demo1项目:

9438859-3b90f62132eb7618.jpg
项目代码展示

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

9438859-53b90fcd43ad145c.jpg
执行install命令后

Demo2项目:

9438859-30e8f0cddfe77095.jpg
java引用另一个项目的代码

Demo2的测试代码:

9438859-1830ac08a312490d.jpg
Demo2的测试代码

pom.xml的配置信息:

9438859-1aa155f2690ae65e.jpg
pom.xml的配置信息

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

9438859-c106d6247e93c732.jpg
Demo2的测试

总结:

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

1、p项目install到本地仓库

2、q项目依赖:

9438859-c403265302bf898a.jpg
依赖

猜你喜欢

转载自blog.csdn.net/weixin_34248487/article/details/87592979