I use this little snippet inside ant build.xml target named versionProperties to generate a Java file that gets compiled and provides a constant (as ProgramVersion.VERSION):
<property name="generated.src.dir" location="${basedir}/target/generated-sources/java" /> <echo file="${generated.src.dir}/com/company/version/ProgramVersion.java"> package com.company.version; /** Generated in ANT */ public class ProgramVersion { public static final String VERSION = "${program.version}"; } </echo> Then this goes inside the <build><plugins> section of the pom: <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <property name="program.version" value="${pom.version}"></property> <ant antfile="build.xml" dir="." target="versionProperties" inheritRefs="true" /> </tasks> <sourceRoot> ${project.build.directory}/generated-sources/java </sourceRoot> </configuration> </execution> </executions> </plugin> No need to use the pom.version value to set it but you do have to not put a double-quote or a newline in there. It works. -- Lee On Mon, Sep 29, 2008 at 7:37 AM, Dominic Mitchell <[EMAIL PROTECTED]> wrote: > On 29 Sep 2008, at 13:22, Mark Hobson wrote: > > 2008/9/29 Dominic Mitchell <[EMAIL PROTECTED]>: >> >>> What's the easiest way to get at the version number in the POM from Java? >>> >>> I've been using >>> getResourceAsStream('META-INF/maven/groupId/artifactId/pom.properties'); >>> But this doesn't work while I'm developing in Eclipse (only when using >>> the >>> built jar file). >>> >> >> You can use maven-runtime to dynamically obtain this information, but >> it still has the limitation of requiring the META-INF files created at >> package-time: >> >> http://maven.apache.org/shared/maven-runtime/ >> >> > Aha! Thanks for pointing this out. That's much more useful than rolling > my own implementation of such a thing. > > I'd quite like to see the generation of these metadata files occur at >> the generate-resources phase of the lifecycle which would allow it >> work within the IDE too. >> > > -Dom > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- -- Lee Meador Sent from gmail. My real email address is lee AT leemeador.com