坐标和依赖

简介:
坐标能够唯一定义一个Maven构件,包含
     1.groupId
     2.artifactId
     3.version
     4.packaging
     5.classifier
    
依赖范围
     complie
     test
     provided
     runtime
     system
     import

依赖范围 对编译classpath有效 对測试classpath有效 对执行时classpath有效 样例
complie Y Y Y spring-core
test - Y - Junit
provided Y Y - servlet-api
runtime - Y Y jdbc driver
system - Y Y local lib


下表第一列表示第一直接依赖范围,第一行表示第二直接依赖范围,交叉单元格表示传递依赖范围
  complie test provided runtime
complie complie - - runtime
test test - - test
provided provided - provided provided
runtime runtime - - runtime


依赖调解
     原则一、最短路径优先
     原则二、声明顺序优先

可选依赖
     可选依赖不会传递,如需使用,须要单独声明。


     可选依赖不推荐使用,属于不好的实践。建议将每一个依赖单独做成maven构件,由使用者决定依赖
    
排除依赖

     <dependency>   
          <groupId>org.springframework</groupId> 
          <artifactId>spring-core</artifactId> 
          <version>2.5.6</version> 
          <exclusions> 
                  <exclusion>     
                         <groupId>commons-logging</groupId>         
                         <artifactId>commons-logging</artifactId> 
                  </exclusion> 
          </exclusions> 
     </dependency>

归类依赖
     <dependencies> 
       <dependency> 
          <groupId>org.spring.framework</groupId> 
          <artifactId>spring-core</artifactId> 
          <version>${spring.version}</version> 
       </dependency> 
       <dependency> 
          <groupId>org.spring.framework</groupId> 
          <artifactId>spring-beans</artifactId> 
          <version>${spring.version}</version> 
       </dependency> 
       <dependency> 
          <groupId>org.spring.framework</groupId> 
          <artifactId>spring-web</artifactId> 
          <version>${spring.version}</version> 
       </dependency> 
       <dependency> 
          <groupId>org.spring.framework</groupId> 
          <artifactId>spring-mock</artifactId> 
          <version>${spring.version}</version> 
       </dependency> 
     </dependencies> 
      
     <properties> 
       <spring.version>2.5</spring.version> 
     </properties> 
    
优化依赖
mvn dependency:list
mvn dependency:tree
mvn dependency:analyze





本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5207973.html,如需转载请自行联系原作者
相关文章
|
人工智能 运维 Linux
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
一文了解IntelliJ IDEA如何使用git上传代码到GitHub(附常见问题解决方案)
676 0
|
JavaScript Java 应用服务中间件
使用 Docker 高效搭建本地开发环境(详细教程)
使用 Docker 高效搭建本地开发环境(详细教程)
15613 0
使用 Docker 高效搭建本地开发环境(详细教程)
vscode ctrl+/ 注释快捷键失效
首次安装vscode 不知道为何会快捷键失效,首先想到的就是键位冲突! 于是解决了。
5990 0
vscode ctrl+/ 注释快捷键失效
|
大数据 API 数据库
进行实名认证的必要性,实名认证使用很简单(附教程)
网络平台通过大数据技术进行实名认证以验证用户身份的真实性。常用方法包括身份证、手机号和银行卡信息的核验,如身份证实名认证、公安人脸实名认证、手机三要素及二要素实名认证、以及银行卡要素验证等接口。实名认证广泛应用于游戏、电商、招聘、金融和安保等领域。为调试接口,推荐使用Postman工具,可通过简单的配置测试接口有效性,并导出所需语言的代码样例。具体步骤包括:设置Header中的Authorization字段,并按需配置body参数,最后导出代码以便直接使用。
|
SQL 前端开发 NoSQL
SpringBoot+Vue 实现图片验证码功能需求
这篇文章介绍了如何在SpringBoot+Vue项目中实现图片验证码功能,包括后端生成与校验验证码的方法以及前端展示验证码的实现步骤。
SpringBoot+Vue 实现图片验证码功能需求
|
Java Spring
在Spring Boot中,可以通过控制`@PostConstruct`注解方法的执行顺序来实现初始化时的顺序控制
在Spring Boot中,可以通过控制`@PostConstruct`注解方法的执行顺序来实现初始化时的顺序控制
1029 1
|
消息中间件 数据可视化 RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
【RocketMQ系列二】通过docker部署单机RocketMQ
2650 4
|
消息中间件 API RocketMQ
你的RocketMQ消费者组(Consumer Group)在查看时显示为离线,这可能是由于消费者组的状态没有被正确更新
你的RocketMQ消费者组(Consumer Group)在查看时显示为离线,这可能是由于消费者组的状态没有被正确更新【1月更文挑战第10天】【1月更文挑战第49篇】
1982 5
|
前端开发 Java Spring
SpringBoot通过拦截器和JWT令牌实现登录验证
该文介绍了JWT工具类、匿名访问注解、JWT验证拦截器的实现以及拦截器注册。使用`java-jwt`库生成和验证JWT,JwtUtil类包含generateToken和verifyToken方法。自定义注解`@AllowAnon`允许接口匿名访问。JwtInterceptor在Spring MVC中拦截请求,检查JWT令牌有效性。InterceptorConfig配置拦截器,注册并设定拦截与排除规则。UserController示例展示了注册、登录(允许匿名)和需要验证的用户详情接口。
2065 1