如何在jsp页面中获取maven项目版本号?

2022-09-01 11:42:07

我正在开发一个由maven2管理的java Web应用程序。我们不时地做了一些改变,并希望做新的版本,当然还有新版本号。在主页(jsp)中,有类似

<b>version:</b> 2.3.3... 

有没有可能,每次我做一个新版本,我只改变pom.xml,jsp中的版本号可以由这个maven ${project.version}自动填充?<version/>

我尝试了maven profile,但它似乎不起作用。

任何想法?

谢谢。


答案 1

可以使用项目筛选在将 JSP 复制到目标位置时对其进行处理。如果用 指定了 JSP,并且将包含文件夹指定为过滤器位置,那么在打包 JSP 时,应将值替换为 JSP 中。${project.version}

例如,将其添加到 POM 中可以对 src/main/resources 进行筛选:

<resources>
  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
  </resource>
</resources>

更新:对于 war 打包,您可能需要配置 war 插件才能进行过滤。有关更多详细信息和示例,请参阅 war 插件文档的部分。Filtering

从本质上讲,该过程是相同的,但它是在war插件下面定义的,因此您将拥有如下内容:

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.0</version>
    <configuration>
      <webResources>
        <resource>
          <directory>src/main/resources</directory>
          <filtering>true</filtering>
        </resource>
      </webResources>
    </configuration>
  </plugin>
</plugins>

答案 2

这也许是愚蠢的,但我会使用像这个例子中那样的文件,而不是直接过滤JSP。.properties


推荐