中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • maven打包時候修改包名稱帶上git版本號和打包時間的方法是什么

maven打包時候修改包名稱帶上git版本號和打包時間的方法是什么

發布時間:2023-04-07 17:45:09 來源:億速云 閱讀:340 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“maven打包時候修改包名稱帶上git版本號和打包時間的方法是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“maven打包時候修改包名稱帶上git版本號和打包時間的方法是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

maven打包時候修改包名稱帶上git版本號和打包時間

使用 maven 插件 git-commit-id-plugin 可以獲取項目的git信息,然后,使用這個信息,修改打包的名稱,使其帶上git版本號以及打包時間。

	<build>
        <finalName>${artifactId}-${git.commit.id.abbrev}-${git.build.time}</finalName>
        <plugins>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>2.1.5</version>
                <executions>
                    <execution>
                        <id>get-the-git-infos</id>
                        <!-- 默認綁定階段initialize -->
                        <phase>initialize</phase>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <!--日期格式;默認值:dd.MM.yyyy '@' HH:mm:ss z;-->
                    <dateFormat>yyyy-MM-dd_HH-mm-ss</dateFormat>
                    <!--,構建過程中,是否打印詳細信息;默認值:false;-->
                    <verbose>true</verbose>
                    <!-- ".git"文件路徑;默認值:${project.basedir}/.git; ${project.basedir}:項目根目錄,即包含pom.xml文件的目錄-->
                    <dotGitDirectory>${project.basedir}/../../../.git</dotGitDirectory>
                    <!--若項目打包類型為pom,是否取消構建;默認值:true;-->
                    <skipPoms>false</skipPoms>
                    <!--是否生成"git.properties"文件;默認值:false;-->
                    <generateGitPropertiesFile>true</generateGitPropertiesFile>
                    <!--指定"git.properties"文件的存放路徑(相對于${project.basedir}的一個路徑);-->
                    <generateGitPropertiesFilename>/src/main/resources/git.properties</generateGitPropertiesFilename>
                    <!--".git"文件夾未找到時,構建是否失敗;若設置true,則構建失敗;若設置false,則跳過執行該目標;默認值:true;-->
                    <failOnNoGitDirectory>true</failOnNoGitDirectory>
 
                    <!--git描述配置,可選;由JGit提供實現;-->
                    <gitDescribe>
                        <!--是否生成描述屬性-->
                        <skip>false</skip>
                        <!--提交操作未發現tag時,僅打印提交操作ID,-->
                        <always>false</always>
                        <!--提交操作ID顯式字符長度,最大值為:40;默認值:7; 0代表特殊意義;后面有解釋;-->
                        <abbrev>7</abbrev>
                        <!--構建觸發時,代碼有修改時(即"dirty state"),添加指定后綴;默認值:"";-->
                        <dirty>-dirty</dirty>
                        <!--always print using the "tag-commits_from_tag-g_commit_id-maybe_dirty" format, even if "on" a tag.
                            The distance will always be 0 if you're "on" the tag.  -->
                        <forceLongFormat>false</forceLongFormat>
                    </gitDescribe>
                </configuration>
            </plugin>
        </plugins>
    </build>

實際運行結果:

maven打包時候修改包名稱帶上git版本號和打包時間的方法是什么

git.properties文件內容

#Generated by Git-Commit-Id-Plugin
#Fri Nov 12 15:06:14 CST 2021
git.commit.id.abbrev=ff60f80
git.commit.user.email=xxx@163.com
git.commit.message.full=git提交說明
git.commit.id=ff60f8091627e53891fc15bdccad93115f8623c9
git.commit.message.short=簡要說明
git.commit.user.name=abc
git.build.user.name=efg
git.commit.id.describe=xxxx
git.build.user.email=xxx@163.com
git.branch=xxx-dev
git.commit.time=2011-11-09_14-00-40
git.build.time=2011-11-12_15-06-14
git.remote.origin.url=http\://1.1.1.1\:1/group/xxx.git

maven打包日常總結

1、 將第三方依賴性jar包中的文件打包入jar中,打包時修改引入jar包的包名,防止包沖突

 <!--將第三方依賴性jar包中的文件打包入jar中-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <!-- 打包失敗可能是版本太低,提高版本 -->
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <!-- 打包時修改引入jar包的包名,防止包沖突 -->
                            <relocations>
                                <relocation>
                                    <pattern>org.apache.http</pattern>
                                    <shadedPattern>shaded.org.apache.http</shadedPattern>
                                    <!--<excludes>-->
                                    <!--<exclude>org.codehaus.plexus.util.xml.Xpp3Dom</exclude>-->
                                    <!--<exclude>org.codehaus.plexus.util.xml.pull.*</exclude>-->
                                    <!--</excludes>-->
                                </relocation>
                            </relocations>
 
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

2、阻止第三方jar包被打入執行包

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.7.2</version>
            <!-- 阻止第三方jar包被打入執行包 -->
            <scope>provided</scope>
        </dependency>

3、打包時不包含該包下的部分子包

       <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>6.3.2</version>
            <!-- 不包含org.apache.httpcomponents包 -->
            <exclusions>
                <exclusion>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

讀到這里,這篇“maven打包時候修改包名稱帶上git版本號和打包時間的方法是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

肇源县| 女性| 班玛县| 昌图县| 吉林省| 玉林市| 化德县| 托里县| 施甸县| 株洲市| 左权县| 洛川县| 泗洪县| 潮州市| 姜堰市| 县级市| 醴陵市| 沾益县| 集安市| 华容县| 兴仁县| 临城县| 阿城市| 益阳市| 广饶县| 桃源县| 泉州市| 依兰县| 东乌珠穆沁旗| 临泽县| 肃北| 连平县| 来安县| 天台县| 探索| 贺兰县| 新源县| 资中县| 大兴区| 合阳县| 阜新市|