Создать файл version.prop
в src/main/resources
со следующим содержанием:
version=${project.version}
Добавьте следующий П вашего проекта:
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/version.prop</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/version.prop</exclude>
</excludes>
</resource>
</resources>
...
</build>
Добавьте следующий метод:
public String getVersion()
{
String path = "/version.prop";
InputStream stream = getClass().class.getResourceAsStream(path);
if (stream == null)
return "UNKNOWN";
Properties props = new Properties();
try {
props.load(stream);
stream.close();
return (String) props.get("version");
} catch (IOException e) {
return "UNKNOWN";
}
}
P.S. Найденное большинство из этого решения здесь: http://blog.nigelsim.org/2011/08/31/programmatically-getting-the-maven-version-of-your-project/#comment-124
Вы имеете в виду плагин или в самом приложении? –
Что вы собираетесь делать с версией maven? Если необходимо, чтобы информация включалась в некоторый файл во время процесса buil, вы можете использовать [build-helper-maven-plugin] (http://mojo.codehaus.org/build-helper-maven-plugin/maven -version-mojo.html), который даст вам версию maven. – CoolBeans
Возможно, я неверно истолковал ваш вопрос. Если вы хотите получить версию своего проекта (а не версию maven, как мой предыдущий комментарий), то загляните сюда (здесь) (http://blog.nigelsim.org/2011/08/31/programmatically-getting-the -maven-версия-оф-ваш-проект /). – CoolBeans