使用maven快速入门-创新互联

Maven 基础知识

官网: 传送门

专业从事成都网站建设、成都做网站,高端网站制作设计,小程序定制开发,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用H5建站+CSS3前端渲染技术,成都响应式网站建设公司,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。

Maven 项目结构

$ MavenProject
|-- pom.xml
|-- src
|   |-- main
|   |   `-- java
|   |   `-- resources
|   `-- test
|   |   `-- java
|   |   `-- resources
`-- README.md

POM文件

  • POM文件代表 工程对象模型(Project Object Model)它是使用Maven工作的基本组件,位于工程根目录。
  • POM文件支持继承


    4.0.0
    pom
    
        mscx-ad-discovery
        mscx-ad-zuul
        mscx-ad-gateway
        mscx-ad-discovery-nacos
        mscx-ad-common
        mscx-ad-db
        mscx-ad-sponsor
        mscx-ad-search
        mscx-ad-feign-sdk
    

    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    

    com.sxzhongf
    mscx-ad
    1.0-SNAPSHOT
    分布式广告系统
    基于Spring Cloud Alibaba 实现的分布式广告系统

    
        1.8
        Greenwich.SR2
    

    
        
            org.projectlombok
            lombok
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
        
            alibaba
            ali Milestones
            http://maven.aliyun.com/nexus/content/groups/public/
            
                false
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

Maven 坐标

使用maven快速入门

Maven Dependency

Maven思想 是 约定大于配置,默认依赖中,scope 是compile.

Scope类型
  • compile(会被打包到当前project)

    表示被依赖的package参与当前project的编译,包含后续的测试,运行周期都会参与,是一个强依赖。

  • test

    表示被依赖的jar 仅参与测试相关的处理,包裹测试代码的编译,执行。(如junit)

  • runtime

    表示被依赖的jar不需要参与项目的编译,但是后期的测试和运行周期需要参与。

  • provided

    打包的时候不需要包含进去,其他的Container会提供该依赖支持,理论上该依赖可以参与编译、测试运行等周期 ,相当于compile,但是在打包阶段做了exclude命令。

  • system

    从参与环境来看,和provided相同,但是被依赖项不会从maven仓库获取,而是从本地文件系统获取,一定需要配合systemPath属性使用

  • import

    This scope is only supported on a dependency of type pom in the <dependencyManagement> section.

依赖传递特性

官方解释:传送门

  • Dependency mediation (最近依赖原则)

    "nearest definition" means that the version used will be the closest one to your project in the tree of dependencies. For example, if dependencies for A, B, and C are defined as A -> B -> C -> D 2.0 and A -> E -> D 1.0, then D 1.0 will be used when building A because the path from A to D through E is shorter. You could explicitly add a dependency to D 2.0 in A to force the use of D 2.0.

    根据依赖深度,选择依赖路径最近的package version, 如果依赖深度相同,那么选择前一个。Note that if two dependency versions are at the same depth in the dependency tree, the first declaration wins.

  • Dependency management

    依赖管理(项目作者可直接指定依赖版本)

  • Dependency scope 如上一节所述

  • Excluded dependencies 排除依赖包中依赖项

  • Optional dependencies (相当于设置不允许将该依赖传递下去)

使用maven快速入门

常用命令

使用maven快速入门

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:使用maven快速入门-创新互联
链接URL:http://azwzsj.com/article/djjisp.html