Подтвердить что ты не робот

Как получить номер версии из подрывной работы с помощью maven?

Я хочу поместить номер версии на главную страницу webapp, как я могу это сделать с помощью maven?

P.S. Его вопрос из двух частей: как получить номер версии и как записать ее в выбранный файл в проекте.

4b9b3361

Ответ 1

Плагин номер сборки maven - это путь. Пример использования здесь:

http://www.mojohaus.org/buildnumber-maven-plugin/usage.html

Вы использовали бы это вместе с плагином maven jar для печати номера фиксации SVN на свой манифест.

Это лучшее решение, чем использование файла, содержащего номер фиксации SVN, потому что это добавляет больше движущихся частей, чем это действительно необходимо.

Ответ 2

Если вы используете subversion, вы можете использовать этот плагин, чтобы сделать номер версии SVN доступным как свойство maven

http://code.google.com/p/maven-svn-revision-number-plugin/

Я совмещаю это с плагином jar, чтобы добавить версию SVN в файл MANIFEST.MF для нашего банкета и войны.

Ответ 3

Если у вас есть приложение командной строки 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>

Ответ 4

Вы не говорите, какую платформу вы используете, и вы простите меня за незнание с maven. Я предполагаю, что он может вызывать внешние программы, и вы знаете, как сделать это.

Если на платформе Unix вы должны использовать команду svnversion программы и вывести ее вывод, который является номером версии указанного рабочего пути, - в файл, который затем можно включить в свою веб-страницу, как вы считаете нужным,

svnversion --help

показывает, что он может сделать подробно.

Если это Windows, и вы используете клиент TortoiseSVN, тогда есть отличная программа командной строки Windows, связанная с ней под названием SubWCRev. Эта утилита будет расширять макросы в текстовом файле, который вы предоставляете с помощью различных деталей репозитория svn, который вы используете, - вы можете управлять форматом вывода. Все очень удобно. Файл справки для этого находится здесь: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html