maven2 используя project.version и regex - PullRequest
1 голос
/ 05 марта 2012

Я хочу использовать значение версии проекта из pom.xml в моем jsp.Мне удалось сделать это с помощью фильтров, например

      <webResources>
        <resource>
          <directory>${basedir}/src/main/webapp</directory>
          <includes>
            <include>login.jsp</include>
          </includes>
          <filtering>true</filtering>
        </resource>
      </webResources>

И в моем login.jsp у меня есть $ {version}

Но проблема в том, что мне нужно подстать номер моей версиидо 2-го пункта: например, если в моем jsp версия 5.0.3, я хочу показать только 5.0.

Как это сделать?Используя свойства + регулярное выражение или что-то еще?Я всегда могу заставить его работать, используя js на странице jsp, но я бы хотел найти другое решение.

Спасибо

1 Ответ

1 голос
/ 13 июля 2012

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

В моем решении используется Build Helper Plugin .

Этот плагин упрощает анализ и фильтрацию версии в файле пакета / свойства.

Первый шаг - добавить плагин в pom, используя следующую конфигурацию:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <id>parse-version</id>
            <goals>
                <goal>parse-version</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Затем в файле свойств в каталоге src/main/resources добавьтеследующее свойство:

prettyBuildVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}

При этом будут использоваться только первые два числа версии.

Чтобы предоставить это свойство вашему JSP, чтобы к нему можно было получить доступ с помощью EL,Обязательно добавьте его в ServletContext при запуске.Свойства в контексте сервлета напрямую доступны в JSP с помощью EL.

Затем вы можете включить это свойство в любой JSP в вашем приложении, используя ${prettyBuildVersion}.

...