2012-09-21 39 views
2

我們怎樣才能獲得Maven的特性在源文件編譯時行家得到在編譯時

pom.xml 

<artifactId>myApp</artifactId> 
<version>1.0.0</version> 

Main.java 

public class Main { 
    private static final String artifactId = "project.artifactId"; 
    private static final String version = "project.version"; 
} 

性能是有可能在課堂上很難鱈魚?

+0

我一直從它構建的jar中獲取這些信息。 –

+0

答案[here](http://stackoverflow.com/questions/2469922/generate-a-version-java-file-in-maven)可能會給你一些線索。 – yorkw

回答

1

您可以使用maven屬性在generate-src目錄中創建java源文件,並通過build helper maven插件將其附加到源文件夾列表中。

您將控制java文件的內容。

創建源java文件的一種方法是使用groovy maven插件和內聯。

+0

問題是我們需要在庫加載階段,所以不會在編譯時使用'getClass()'並且需要... – twid

+0

您不需要添加此信息,因此通常這些信息已添加在jar文件中。存在一個META-INF/maven/$ {groupId}/$ {artifactId} /pom.properties文件。 – khmarbaise

+0

爲什麼在編譯時需要這些信息? – khmarbaise