91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用maven快速入門

發布時間:2020-07-07 16:49:10 來源:網絡 閱讀:753 作者:zhangpan0614 欄目:編程語言

Maven 基礎知識

官網: 傳送門

Maven 項目結構

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

POM文件

  • POM文件代表 工程對象模型(Project Object Model)它是使用Maven工作的基本組件,位于工程根目錄。
  • POM文件支持繼承
<?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">
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <modules>
        <module>mscx-ad-discovery</module>
        <module>mscx-ad-zuul</module>
        <module>mscx-ad-gateway</module>
        <module>mscx-ad-discovery-nacos</module>
        <module>mscx-ad-common</module>
        <module>mscx-ad-db</module>
        <module>mscx-ad-sponsor</module>
        <module>mscx-ad-search</module>
        <module>mscx-ad-feign-sdk</module>
    </modules>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.sxzhongf</groupId>
    <artifactId>mscx-ad</artifactId>
    <version>1.0-SNAPSHOT</version>
    <name>分布式廣告系統</name>
    <description>基于Spring Cloud Alibaba 實現的分布式廣告系統</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!--定義遠程maven倉庫-->
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>alibaba</id>
            <name>ali Milestones</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

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 &lt;dependencyManagement&gt; 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快速入門

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丁青县| 卓资县| 平泉县| 彭水| 武义县| 钟祥市| 琼海市| 安岳县| 禹州市| 和顺县| 华宁县| 汝南县| SHOW| 襄城县| 白银市| 道孚县| 石景山区| 磐安县| 西昌市| 屯门区| 怀远县| 襄樊市| 苍山县| 阳春市| 浏阳市| 四会市| 竹溪县| 西峡县| 大田县| 永安市| 新巴尔虎右旗| 正镶白旗| 新安县| 宣化县| 崇信县| 会东县| 永川市| 如东县| 棋牌| 洪湖市| 博野县|