2016-02-20 41 views
1

我讀過${project.version}屬性應該用於獲取項目的完整版本如何獲取Maven/Tycho中的當前內部版本

但是,如果我在構建中使用此屬性將當前構建版本傳遞給外部構建過程,則其值始終爲1.0.0-SNAPSHOT,我需要類似1.0.0-20160220-1234之類的內容。外部構建步驟被調用的階段是「包」。

tycho-packaging-plugin被配置成產生時間戳是這樣的:

<configuration> 
    <format>yyyyMMdd-HHmm</format> 
</configuration> 

,並將所得的文物確實有版本/名稱時間戳

我使用Maven 3.3.3與Eclipse Tycho 0.24,但是,與以前版本的Tycho的行爲是一樣的。不確定Tycho在這方面的表現與普通Maven的表現不同。

構建與

mvn clean verify 

在主POM的目錄中運行。

我用這個的實際項目是Extras for Eclipse。外部構建步驟被調用in line 129 of the 'repository' child pom

我也有使用回波插件在上述子POM診斷這樣的問題:

<plugin> 
    <groupId>com.soebes.maven.plugins</groupId> 
    <artifactId>maven-echo-plugin</artifactId> 
    <version>0.1</version> 
    <executions> 
    <execution> 
     <phase>package</phase> 
     <goals> 
     <goal>echo</goal> 
     </goals> 
    </execution> 
    </executions> 
    <configuration> 
    <echos> 
     <echo>actual version: ${project.version}</echo> 
    </echos> 
    </configuration> 
</plugin> 

的輸出是相同的外部構建接收:1.0.0-SNAPSHOT

我需要做什麼或需要使用哪個屬性來獲取當前版本的合格版本?

+0

你能告訴我你是怎麼做的嗎?通過命令行?你使用哪個Maven版本?你使用哪個tycho版本?你能否展示一個不起作用的示例項目? – khmarbaise

+0

感謝您的反饋,請參閱最新的問題。 –

回答

1

從我的理解${project.version}財產應該持有合格的版本,例如1.0.0-20160218-1234。但是無論是Maven/Tycho都存在一個bug,還是我的理解顯然是錯誤的。如果有人能夠澄清這一點,我會很高興。

但是,我發現tycho-packaging:build-qualifier mojo設置的${qualifiedVersion}屬性。此屬性保持預期值。

注意的是,即使文檔指出

被分配到項目屬性qualifiedVersion

屬性無法通過${project.qualifiedVersion}訪問。它需要被引用爲${qualifiedVersion}

相關問題