中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

springboot~nexus項目打(da)包要注(zhu)意的地(di)方(fang)

一個使用maven制作框架包時,會有一個主項目,然后它有多個子項目框架組成,很少一個工具包一個工程,像springboot,springcloud都是這種結構,主項目用來管理一些依賴包的版本,這對于框架型項目來說是很必要的,而對于業務項目來說,因為目前都是推薦使用微服務的輕量方式,所以不建議用多項目綁定一個大項目的方式,而都是一個服務一個項目。
架構圖

主pom文件

主項目的pom文件用來管(guan)理依賴包版本(ben)(ben),一般在dependencyManagement節點(dian)去聲明它們的版本(ben)(ben)號,這樣在子項目里(li)可以(yi)不(bu)聲明相(xiang)同包的版本(ben)(ben)信息了

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

            <!--阿里巴巴組件-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba-dependencies.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

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

            <!-- Spring Boot Web 依賴 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>${spring-boot-dependencies.version}</version>
                <exclusions>
                    <!-- 排除Tomcat 以使用 Undertow -->
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>


            <!-- Google 編碼助手 -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>


            <!-- Mysql 驅動 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.drive.version}</version>
            </dependency>


            <!-- HikariCP 連接池 -->
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${HikariCP.version}</version>
            </dependency>

            <!-- MyBatis 增強工具 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus-boot-starter.version}</version>
            </dependency>


            <!-- Alibaba json解析器 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>


            <!-- 接口文檔 -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${springfox-swagger2.version}</version>
            </dependency>


            <!-- 接口文檔 UI -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${springfox-swagger2.version}</version>
            </dependency>

            <!-- HTTP 客戶端請求 -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>


            <!-- Feign 客戶端請求 -->
            <dependency>
                <groupId>io.github.openfeign</groupId>
                <artifactId>feign-httpclient</artifactId>
                <version>${feign-httpclient.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

如果項目希望進(jin)行發布到nexus私(si)服(fu)上(shang),需要配置distributionManagement節(jie)點(dian)的信息(xi),它對應你的.m2/settings.xml里的profile節(jie)點(dian)信息(xi)

        <distributionManagement>
        <repository>
            <id>releases</id>
            <name>Nexus Release Repository</name>
            <url>//192.168.0.203:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>//192.168.0.203:8081/repository/maven-snapshots/</url>
        </snapshotRepository>

拉取nexus的類庫

如果希(xi)望拉(la)取nexus的類(lei)庫,可以(yi)將settings.xml文件里添(tian)加profile節點(dian),并激活它

    <profiles>
        <profile>
            <!--profile的id-->
            <id>dev</id>
            <repositories>
                <repository>
                    <!--倉庫id,repositories可以配置多個倉庫,保證id不重復-->
                    <id>maven-public</id>
                    <url>//192.168.0.203:8081/repository/maven-public/</url>
                    <!--是否下載releases構件-->
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <!--是否下載snapshots構件-->
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>maven-public</id>
                    <name>maven-plugin</name>
                    <url>//192.168.0.203:8081/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>

    </profiles>

    <activeProfiles>
        <activeProfile>dev</activeProfile>
    </activeProfiles>

使用deploy發布項目

第一次把工具包發到nexus時,需要在點擊主項目的 deploy它會把主項目和其子項目同時發到nexus上面,后續可以只deploy修改的項目
發布

在具體項目里使用它

直接在項目(mu)的(de)pom里,添加對應的(de)工(gong)具包即可,工(gong)具包的(de)項目(mu)依賴(lai)你不需要關心

   <dependency>
            <groupId>com.lind</groupId>
            <artifactId>lind-common</artifactId>
            <version>${lind-common.version}</version>
  </dependency>

注(zhu)意:對(dui)于框架型項目,需要保存你(ni)的(de)工(gong)具包依(yi)賴的(de)項目也在nexus上面,否(fou)則(ze)會導致加載失敗。

posted @ 2020-07-21 14:05  張占嶺  閱讀(1197)  評論(0)    收藏  舉報