Как отобразить buildnumber в основанном на пружине веб-приложении

Я должен отобразить номер сборки на своей index.jsp странице

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>Title (build: BUILDNUMBER )
</head>

Номер сборки может быть предоставлен знатоком в *.properties файл. Что лучший способ состоит в том, чтобы считать *.properties файл и отобразить свойство с Spring?

10
задан Max 7 July 2010 в 14:52
поделиться

2 ответа

Вы можете загрузить файл .properties в качестве источника сообщений локализации (используя ResourceBundlerMessageSource) и получить к нему доступ в JSP, используя или :

src/main/resources/buildInfo. properties:

buildNumber=${buildNumber}

где buildNumber выставляется, как предлагает Роланд Шнайдер.

Контекстная конфигурация:

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name = "basenames"><value>buildInfo</value></property>
    <!-- Or a comma separated list if you have multiple .properties files -->
</bean>

JSP файл:

Version: <spring:message code = "buildNumber" />

pom.xml:

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
    </resource>
</resources>
6
ответ дан 4 December 2019 в 00:59
поделиться

Предупреждение : Фильтрация ресурсов не работает таким образом для файлов .jsp. Как отметил Паскаль Тивент (спасибо), index.jsp не является ресурсом, а принадлежит веб-приложению.


Я не знаю точного ответа на ваш вопрос, но вы можете жестко запрограммировать номер сборки в файл index.jsp с помощью maven напрямую, когда файл index.jsp копируется в целевой каталог. Вам нужно только вставить переменную в index.jsp и настроить maven-resource-plugin, чтобы включить фильтрацию.

Пример:

index.jsp

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>Title (build: ${buildNumber} )
</head>

Конфигурация Maven (отрывок из pom.xml)

<build>

    <!-- Enable Resource Filtering -->
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>

    <!-- Fetch the SVN build-number into var ${buildNumber} -->
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>buildnumber-maven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>create</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <doCheck>false</doCheck>
                <doUpdate>false</doUpdate>
            </configuration>
        </plugin>
    </plugins>

</build>

Для получения дополнительной информации о фильтрации см. Руководство по фильтрации Maven

1
ответ дан 4 December 2019 в 00:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: