2012-09-21 38 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