(二)maven依赖,两个项目之间如何依赖

maven的jar之间存在依赖关系的,我们在引入一个时,其他有依赖关系的也会被引入

依赖排除:

比如现在有两个依赖关系,A(x,java,y.java,z.java)  B(a,java,b,java,c.java),但是他们之前的依赖实质是 z.java--c.java,那么就不需要a和b,进行如下配置进行排除:

  <exclusions>
                <exclusion>
                    <artifactId></artifactId>
                    <groupId></groupId>
                </exclusion>
            </exclusions>

如图,在依赖包的<dependcy>标签之中,通过gav定位需要排除的beans即可

依赖的传递性:

A.jar--B.jar--C.jar:

三者依赖关系如上,如果想要让A也依赖于C,那么B.jar---C.jar的依赖范围必须是compile

两个项目之间的依赖,

现在有两个项目,HelloWorld和HelloWorld2,这是他们的目录结构

 

 

helloworld的坐标

   <modelVersion>4.0.0</modelVersion>

    <groupId>org.apache.maven</groupId>
    <artifactId>HelloWorld</artifactId>
    <version>1.0-SNAPSHOT</version>

 

如果想在hellowold2之中使用 Helloworld之中类,需要以下几个步骤:

1.helloworld项目之中,执行mvn install  ,将当前项目打包成jar包,并放进本地仓库当中

2.helloworld2项目之中的的pom.xml之中,加入依赖:helloworld的坐标

  <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>HelloWorld</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

,之后更新项目,就可以成功的引入我们自定义的项目jar包啦。如图,可以引入helloworld项目的HelloWorld方法

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven中,一个子模块只能有一个父模块,因此无法直接实现两个父模块共同引用子模块的情况。不过,可以通过在两个父模块中都添加对子模块的依赖来实现这一目的。 具体步骤如下: 1.在子模块的pom.xml文件中,声明自己的groupId、artifactId和version等信息,并引用所需的依赖。 2.在两个父模块的pom.xml文件中,分别声明对子模块的依赖。注意,这里的groupId、artifactId和version应该与子模块中声明的信息保持一致。 3.在两个父模块中,都可以引用子模块中的类和资源文件。 举个例子,假设有两个父模块A和B,以及一个子模块C,其中子模块C定义了一个名为"com.example.Calculation"的类,用于实现加法和减法运算。现在需要让父模块A和父模块B都引用子模块C中的Calculation类,可以按照如下步骤操作: 1. 在子模块C的pom.xml文件中,声明自己的groupId、artifactId和version等信息,并引用所需的依赖: ``` <groupId>com.example</groupId> <artifactId>module-c</artifactId> <version>1.0.0</version> ``` 2. 在父模块A和父模块B的pom.xml文件中,分别声明对子模块C的依赖: ``` <!-- 在父模块A中声明对子模块C的依赖 --> <dependency> <groupId>com.example</groupId> <artifactId>module-c</artifactId> <version>1.0.0</version> </dependency> <!-- 在父模块B中声明对子模块C的依赖 --> <dependency> <groupId>com.example</groupId> <artifactId>module-c</artifactId> <version>1.0.0</version> </dependency> ``` 3. 在父模块A和父模块B中,都可以引用子模块C中的Calculation类: ``` import com.example.Calculation; public class MainClass { public static void main(String[] args) { Calculation calculator = new Calculation(); int result = calculator.add(2, 3); System.out.println(result); } } ``` 需要注意的是,子模块C中的Calculation类应该是一个独立的模块,不依赖于任何父模块。同时,如果子模块C中的类和资源文件被父模块A和父模块B同时引用,可能会导致冲突和重复定义等问题,需要谨慎处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值