欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

maven?插件?assembly?打tar.gz包的詳細(xì)過程

 更新時(shí)間:2023年06月13日 11:01:49   作者:摸魚佬  
這篇文章主要介紹了maven插件assembly打tar.gz包的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

maven 插件 assembly 打tar.gz包 

GitHub: link. 歡迎star

注意:本篇博客風(fēng)格(不多比比就是擼代碼!!!)

一、項(xiàng)目目錄

二、pom文件

1. profiles

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
    </profiles>

2. plugins

<plugins>
            <plugin>
                <groupId>org.cyclonedx</groupId>
                <artifactId>cyclonedx-maven-plugin</artifactId>
                <version>2.5.3</version>
            </plugin>
            <!--  配置assembly.xml文件路徑  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <descriptors>
                        <descriptor>src/assembly/assembly.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <layout>ZIP</layout>
                    <includes>
                        <!--  項(xiàng)目啟動jar包中排除依賴包  -->
                        <include>
                            <groupId>non-exists</groupId>
                            <artifactId>non-exists</artifactId>
                        </include>
                    </includes>
                </configuration>
            </plugin>
            <!--  自定義maven jar打包內(nèi)容  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <!--  項(xiàng)目啟動類  -->
                            <mainClass>com.andon.springbootutil.SpringBootUtilApplication</mainClass>
                            <classpathPrefix>../lib</classpathPrefix>
                            <addClasspath>true</addClasspath>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <!-- 復(fù)制項(xiàng)目的依賴包到指定目錄  -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>target/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
        </plugins>

3. resource

<resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>application.yml</include>
                    <include>application-${profiles.active}.yml</include>
                    <include>mapperxml/*.xml</include>
                    <include>*.xml</include>
                    <include>*.properties</include>
                    <include>db/migration/*.sql</include>
                    <include>banner.txt</include>
                </includes>
            </resource>
        </resources>
        <finalName>springboot-util</finalName>

三、assembly.xml

<?xml version="1.0" encoding="UTF-8" ?>
<assembly>
    <id>release</id>
    <!--  打包類型  -->
    <formats>
        <format>tar.gz</format>
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>
    <fileSets>
        <!--    輸出bin目錄所有文件到根目錄    -->
        <fileSet>
            <directory>${basedir}/src/bin</directory>
            <outputDirectory>${file.separator}</outputDirectory>
            <fileMode>0755</fileMode>
            <includes>
                <include>**.sh</include>
                <include>**.bat</include>
            </includes>
        </fileSet>
        <!--    輸出配置文件到config目錄    -->
        <fileSet>
            <directory>${basedir}/target/classes</directory>
            <outputDirectory>config</outputDirectory>
            <fileMode>0644</fileMode>
            <includes>
                <include>application.yml</include>
                <include>application-${profiles.active}.yml</include>
                <include>mapperxml/*.xml</include>
                <include>db/migration/*.sql</include>
                <include>*.xml</include>
                <include>*.properties</include>
                <include>banner.txt</include>
            </includes>
        </fileSet>
        <!--    第三方依賴打包到lib目錄    -->
        <fileSet>
            <directory>${basedir}/target/lib</directory>
            <outputDirectory>lib</outputDirectory>
            <fileMode>0755</fileMode>
        </fileSet>
        <!--    將項(xiàng)目啟動jar打包到boot目錄    -->
        <fileSet>
            <directory>${basedir}/target</directory>
            <outputDirectory>boot</outputDirectory>
            <fileMode>0755</fileMode>
            <includes>
                <include>${project.build.finalName}.jar</include>
            </includes>
        </fileSet>
        <!--    打包根目錄下的文件    -->
        <fileSet>
            <directory>${basedir}</directory>
            <includes>
                <include>**.md</include>
                <include>**.conf</include>
                <include>**.zip</include>
                <include>**.zip</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${basedir}/nginxconfig</directory>
            <outputDirectory>nginxconfig</outputDirectory>
            <includes>
                <include>*</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${basedir}/nginx</directory>
            <outputDirectory>nginx</outputDirectory>
            <includes>
                <include>*</include>
            </includes>
        </fileSet>
        <fileSet>
            <directory>${basedir}/nginx/ssl</directory>
            <outputDirectory>nginx${file.separator}ssl</outputDirectory>
            <includes>
                <include>*</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

四、application.yml

server:
  port: 8866
  servlet:
    context-path: /springboot-util
  forward-headers-strategy: native
spring:
  profiles:
    active: @profiles.active@

五、啟動腳本

1. start.sh

#!/bin/sh
source /etc/profile
APPLICATION="springboot-util"
APPLICATION_JAR="${APPLICATION}.jar"
JAVA_OPT="-server -XX:NewRatio=2 -XX:SurvivorRatio=8 -Xms8g -Xmx16g"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow"
JVM_REMOTE_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7766"
nohup java ${JAVA_OPT} ${JVM_REMOTE_OPTS} -jar ./boot/${APPLICATION_JAR} > nohup.out 2>&1 &

2. stop.sh

#!/bin/sh
APPLICATION="springboot-util"
APPLICATION_JAR="${APPLICATION}.jar"
PID=$(ps -ef | grep "${APPLICATION_JAR}" | grep -v grep | awk '{print $2}')
kill -9 ${PID}

六、執(zhí)行 mvn 打包命令

mvn clean package -DskipTests=true -P dev

七、tar.gz 包上傳服務(wù)器并解壓

八、執(zhí)行 start.sh 啟動腳本

九、訪問 swagger

GitHub: link. 歡迎star

到此這篇關(guān)于maven 插件 assembly 打tar.gz包的文章就介紹到這了,更多相關(guān)maven  assembly 打tar.gz包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IntelliJ?IDEA?2021.3?正式發(fā)布之支持遠(yuǎn)程開發(fā)、IDE故障排查等多項(xiàng)優(yōu)化改進(jìn)

    IntelliJ?IDEA?2021.3?正式發(fā)布之支持遠(yuǎn)程開發(fā)、IDE故障排查等多項(xiàng)優(yōu)化改進(jìn)

    IntelliJ?IDEA?2021.3?正式發(fā)布:支持遠(yuǎn)程開發(fā)、IDE故障排查等多項(xiàng)優(yōu)化改進(jìn)問題,在這個(gè)版本中的遠(yuǎn)程開發(fā)還不是一個(gè)正式版本,而是BETA版,但通過這個(gè)BETA版本,也可以體驗(yàn)IDEA“遠(yuǎn)程開發(fā)”給我們帶來的全新體驗(yàn)
    2021-12-12
  • Java Retrofit源碼層深入分析

    Java Retrofit源碼層深入分析

    這篇文章主要介紹了Java Retrofit源碼層分析,Retrofit是一個(gè)RESTful的HTTP網(wǎng)絡(luò)請求框架的封裝,網(wǎng)絡(luò)請求的工作本質(zhì)上是OkHttp完成,而Retrofit僅負(fù)責(zé)網(wǎng)絡(luò)請求接口的封裝
    2023-01-01
  • java實(shí)現(xiàn)pgsql自動更新創(chuàng)建時(shí)間與更新時(shí)間的兩種方式小結(jié)

    java實(shí)現(xiàn)pgsql自動更新創(chuàng)建時(shí)間與更新時(shí)間的兩種方式小結(jié)

    本文主要介紹了java實(shí)現(xiàn)pgsql自動更新創(chuàng)建時(shí)間與更新時(shí)間的兩種方式小結(jié),主要包括通過數(shù)據(jù)庫自身實(shí)現(xiàn)以及通過mybatisplus的TableField注解添加,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Spring?JDBC使用步驟和事務(wù)管理

    Spring?JDBC使用步驟和事務(wù)管理

    Spring?JDBC是Spring框架用來處理關(guān)系型數(shù)據(jù)庫的模塊,對JDBC的API進(jìn)行了封裝,這篇文章主要介紹了Spring?JDBC使用步驟和事務(wù)管理,需要的朋友可以參考下
    2023-12-12
  • SpringCloud項(xiàng)目中Feign組件添加請求頭所遇到的坑及解決

    SpringCloud項(xiàng)目中Feign組件添加請求頭所遇到的坑及解決

    這篇文章主要介紹了SpringCloud項(xiàng)目中Feign組件添加請求頭所遇到的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 深入解析MybatisPlus多表連接查詢

    深入解析MybatisPlus多表連接查詢

    在一些復(fù)雜的業(yè)務(wù)場景中,我們經(jīng)常會遇到多表連接查詢的需求,本文主要介紹了深入解析MybatisPlus多表連接查詢,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • Java之@TableField注解的用法解析

    Java之@TableField注解的用法解析

    MyBatis-Plus的@TableField注解用于控制實(shí)體類字段與數(shù)據(jù)庫表字段的映射關(guān)系,支持字段映射、忽略、插入和更新控制、自定義填充策略和類型轉(zhuǎn)換等
    2025-01-01
  • java兩個(gè)integer數(shù)據(jù)判斷相等用==還是equals

    java兩個(gè)integer數(shù)據(jù)判斷相等用==還是equals

    本文主要介紹了java兩個(gè)integer數(shù)據(jù)判斷相等用==還是equals,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Spring中propagation的7種事務(wù)配置及說明

    Spring中propagation的7種事務(wù)配置及說明

    這篇文章主要介紹了Spring中propagation的7種事務(wù)配置及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring框架之IOC介紹講解

    Spring框架之IOC介紹講解

    IOC-Inversion of Control,即控制反轉(zhuǎn)。它不是什么技術(shù),而是一種設(shè)計(jì)思想。這篇文章將為大家介紹一下Spring控制反轉(zhuǎn)IOC的原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論