Я хочу поместить номер версии на главную страницу webapp, как я могу это сделать с помощью maven?
P.S. Его вопрос из двух частей: как получить номер версии и как записать ее в выбранный файл в проекте.
Я хочу поместить номер версии на главную страницу webapp, как я могу это сделать с помощью maven?
P.S. Его вопрос из двух частей: как получить номер версии и как записать ее в выбранный файл в проекте.
Плагин номер сборки maven - это путь. Пример использования здесь:
http://www.mojohaus.org/buildnumber-maven-plugin/usage.html
Вы использовали бы это вместе с плагином maven jar для печати номера фиксации SVN на свой манифест.
Это лучшее решение, чем использование файла, содержащего номер фиксации SVN, потому что это добавляет больше движущихся частей, чем это действительно необходимо.
Если вы используете subversion, вы можете использовать этот плагин, чтобы сделать номер версии SVN доступным как свойство maven
http://code.google.com/p/maven-svn-revision-number-plugin/
Я совмещаю это с плагином jar, чтобы добавить версию SVN в файл MANIFEST.MF для нашего банкета и войны.
Если у вас есть приложение командной строки svn, вы можете использовать следующий код - мы используем его в наших проектах (слегка измененный)
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<mkdir dir="${project.build.directory}/generated-web-resources/svn"/>
<exec dir="${basedir}" executable="svn"
failifexecutionfails="false"
output="${project.build.directory}/generated-web-resources/svn/svnver.jsp">
<arg line="info"/>
</exec>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${project.build.directory}/generated-web-resources/svn</directory>
</resource>
</webResources>
<warSourceExcludes>**/_svn/**</warSourceExcludes>
</configuration>
</plugin>
</plugins>
</build>
Вы не говорите, какую платформу вы используете, и вы простите меня за незнание с maven. Я предполагаю, что он может вызывать внешние программы, и вы знаете, как сделать это.
Если на платформе Unix вы должны использовать команду svnversion программы и вывести ее вывод, который является номером версии указанного рабочего пути, - в файл, который затем можно включить в свою веб-страницу, как вы считаете нужным,
svnversion --help
показывает, что он может сделать подробно.
Если это Windows, и вы используете клиент TortoiseSVN, тогда есть отличная программа командной строки Windows, связанная с ней под названием SubWCRev. Эта утилита будет расширять макросы в текстовом файле, который вы предоставляете с помощью различных деталей репозитория svn, который вы используете, - вы можете управлять форматом вывода. Все очень удобно. Файл справки для этого находится здесь: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html