maven 中的工程依赖和层级依赖?

一、什么是工程依赖?

思考问题?
1.1一旦开始分模块开发的时候,之前的所有包都会被拆分成一个一个的项目
model
mapper
service
...
其实mapper需要model的支持,怎么解决问题?
    【使用工程依赖】

在mapper项目中的pom.xml文件中以jar包的形式引入model项目即可
一旦使用量的工程依赖,就会出现层级依赖

简单的依赖,关系图。

web(controller)-----》service--------》mapper-------》model

1.2具体操作

package com.aaa.mapper;
import com.aaa.entity.User;
import java.util.List;
/*
*   1.架构之 ,跨域。
*
*   2.思考问题?
    一旦开始分模块开发的时候,之前的所有包都会被拆分成一个一个的项目
    model
    mapper
    service
    ...
    其实mapper需要model的支持,如果解决问题?

        使用工程依赖

        在mapper项目中的pom.xml文件中以jar包的形式引入model项目即可
        一旦使用量的工程依赖,就会出现层级依赖
* */

//定义UserMapper的接口
public interface UserMapper {

    //user 是model中的实体类,mapper中创建的 UserMapper 如何使用?  ------- 使用工程依赖
    List<User> selectAll();
}

mapper 的pro.xml配置?  将jar包的形式,引入需要的依赖的项目。

1.公司名          artifactId

2.依赖的项目名    groupId

3.项目名的版本号           version

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <!-- 子级模块 依赖于父级工程。 -->
        <artifactId>DemoSpringBoot</artifactId>
        <groupId>com.aaa</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>mapper</artifactId>
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--
           层级依赖。   在mapper项目中的pom.xml文件中以jar包的形式引入model项目即可
            1.groupId     公司的名字  一样的
            2.artifactId  需要的项目名
            3.version     版本号

            然后,在mapper中,就可以导入model中的实体类。
        -->
        <dependency>
            <groupId>com.aaa</groupId>
            <artifactId>model</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>

二、层级依赖?   减少jar包的冗余。(maven的好处)

思考问题?
使用了层级依赖,上级中所引用的jar包,下级是否可以使用?
可以!!!!
 如果mapper
   service
   web
都使用到了shiro的jar包,因为这三个项目是一个层级依赖的关系,只需要在mapper项目中引入shiro的jar包即可!

原文地址:https://www.cnblogs.com/ZXF6/p/11361258.html

时间: 2024-11-09 07:26:40

maven 中的工程依赖和层级依赖?的相关文章

Maven中使用&lt;version&gt;LATEST&lt;/version&gt;自动依赖最新版本引发的问题

今天在打包项目的过程中出现了编译问题,奇怪的是这个项目已经好久没有修改过了,报错如下. 找不到符号 [ERROR] 符号: 方法 intent(java.lang.String) [ERROR] 位置: 类型为com.paypal.orders.OrderRequest的变量 orderRequest 找不到符号 [ERROR] 符号: 方法 amount(com.paypal.orders.AmountWithBreakdown) [ERROR] 位置: 类 com.paypal.orders

Jenkins+Maven动态工程构建--第三方服务依赖解耦的一种思路

持续集成是敏捷领域的一项基本实践,Jenkins是目前市面上主流的持续集成工具.关于持续集成和Jenkins可以讨论的话题很多,本文描述的是一种使用Jenkins结合Maven进行动态工程构建的思路,用于进行系统开发过程中对第三方服务依赖的解耦. 一.  场景 在系统设计和实现过程中,尤其是涉及到多方集成的系统开发,我们经常会遇到这样的场景:即目标系统需要依赖于某些第三方的服务实现,而这些第三方的服务实现通常有其进度安排,会和目标系统平行开发,也就是说在目标系统开发调试过程中,第三方服务往往还无

maven中maven dependencies中依赖出现了项目

maven 中maven dependencies中依赖出现了项目,把依赖的项目关掉,项目消失,但是还是无法打包 ,出现的错误如图.说明:依赖的项目为project-dao  打包的项目为project-service  都在project-parent中有依赖. project-dao是可以打包成功的.project-service中依赖dao的jar包也可以过 来. [INFO] Scanning for projects... [INFO]                        

工程中添加工程依赖 Xcode iOS

有时我们需要在一个主工程中添加其他的子工程,用来对子工程进行编写修改或者是利用子工程中的库文件等等操作,这时候我们需要用到工程的嵌套. 步骤:(看图说话) 1.新建主工程,名为TestTTTT,新建一个static framework 工程,工程名为MyLibrary.把两个工程文件放到一个文件夹下,如下图: 2.在TestTTTT中执行下面操作:子工程左下角"+"里面执行Add file to 找到MYLibrary中的工程文件添加. 3.添加依赖: 4.添加路径 5.大功告成,现在

Maven中的可选依赖(Optional Dependencies)和依赖排除(Dependency Exclusions)

我们知道,maven的依赖关系是有传递性的.如:A-->B,B-->C.但有时候,项目A可能不是必需依赖C,因此需要在项目A中排除对A的依赖.在maven的依赖管理中,有两种方式可以对依赖关系进行,分别是可选依赖(Optional Dependencies)以及依赖排除(Dependency Exclusions).     一.可选依赖     当一个项目A依赖另一个项目B时,项目A可能很少一部分功能用到了项目B,此时就可以在A中配置对B的可选依赖.举例来说,一个类似hibernate的项目

Maven中依赖的scope的依赖范围

在Maven中依赖的域有这几个:import.provided.runtime.compile.system.test 1compile 的范围 当依赖的scope为compile的时候,那么当前这个依赖的包,会在编译的时候将这个依赖加入进来,并且在打包(mvn package)的时候也会将这个依赖加入进去 意思就是:编译范围有效,在编译与打包时都会存储进去 2provided的范围 当依赖的scope为provided的时候,在编译和测试的时候有效,在执行(mvn package)进行打包成w

如何在Maven中配置Spring依赖

如何在Maven中配置Spring依赖 *前言: 这篇文章讨论了如何在Maven配置Spring的一些细节,这里介绍了一些主要的Maven依赖管理内容,当然还存在一些没有讨论到的内容,不过这篇文章应该是在项目中使用Spring的一个好的起点.最新的Spring发布版可以在Maven仓库中找到.* 在Maven中Spring的基础配置 Spring是高度模块化的,可以单独使用Spring的某个库而不需要依赖Spring的其他库.比如,使用Spring Context库不需要依赖Spring Per

Maven中通过parent项目的pom维护第三方依赖

Maven的核心就是pom.xml.如果要引入一个第三方依赖,在pom文件中加上<dependency></dependency>就可以依赖相应的jar包. 为了使不同的子项目中的相同依赖的版本保持一致,一般在parent项目的pom文件中维护相关依赖. 场景一 多个子项目依赖同一个jar包 如果分别在各个子项目的pom文件中引入其依赖,那么当依赖版本发生变化时,需要在每个子项目中分别修改版本号,有可能造成遗漏和错误. 此时就可以在parent项目的pom文件中维护相关依赖,子项目

创建maven项目pom.xml出现错误(依赖Missing)

Maven的依赖问题 在聚合模块时候,发现在父工程目录中的依赖存在一些问题.一开始是${pagehelper.version},后来将版本直接填写相应的版本如图下 依赖添加失败 * 在父工程的jar包依赖在子工程中无法进行添加报错* Missing artifact com.github.pagehelper:pagehelper:jar:3.4.2-fix 原因 在父工程中已经确定jar的version,但是jar下载不下来,可能存在两种情况 1. 该jar包非免费,需要付费,所以下载不下来