簡體   English   中英

使用Maven構建項目時,可以將版本包含在特定文件中嗎?

[英]Using Maven for building my project, can I include the version in a specific file?

我有一個文件,想要在頂部顯示該版本。 例如,如果我的POM.xml位於版本1.1-SNAPSHOT上,則我喜歡此文件在其頂部(或靠近頂部的位置)還包含1.1-SNAPSHOT。 發布時,我希望版本更改為1.1(即與POM.xml相同)。 我可以在每個Maven構建之前和之后編寫一個bash腳本來執行此操作,但是我想知道Maven是否可以做到這一點。

我看到buildnumber Maven插件可能做類似的事情(例如,將內部版本號放在jar文件的清單中)。 但是Maven可以將“版本”放入我指定的“特定文件”中嗎?

您需要使用maven-resources-plugin進行過濾。 而不是放入文件中,請考慮以下內容,該代碼可用於您的代碼。

您需要將.properties文件放入src / main / resources,然后啟用過濾。

這是一些測試的示例:

在pom中:

    <build>
    <testResources>
        <testResource>
            <directory>src/test/resources</directory>
            <filtering>true</filtering>
        </testResource>
    </testResources>

在src / test / resources中,有一個文件test-config.properties:

project.version=${project.version}

然后,使用通常的Java代碼從類路徑中打開文件並將其輸入到“ properties”類中。

 public static void beforeClass() throws Exception {
    URL configPropUrl = Resources.getResource(AbstractIT.class, "test-config.properties");
    Properties props = new Properties();
    try (InputStream propStream = configPropUrl.openStream()) {
        props.load(propStream);
    }

    basedir = props.getProperty("basedir");
    projectVersion = props.getProperty("project.version");

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM