[英]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.