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

Ken*_*ent 29 java maven-2

我正在研究由maven2管理的java Web应用程序.我们不时做了一些更改,并希望做新版本,当然还有新版本号.在主页(jsp)中,有文字之类的

<b>version:</b> 2.3.3... 
Run Code Online (Sandbox Code Playgroud)

是否有可能,每次我发布新版本时,我只更改<version/>in pom.xml,jsp中的版本号可以由此maven $ {project.version}自动填充?

我尝试了maven配置文件,但它似乎不起作用.

有任何想法吗?

谢谢.

Ric*_*ler 31

您可以使用项目筛选来处理JSP,因为它已复制到目标位置.如果使用指定JSP ${project.version},并且将包含文件夹指定为过滤器位置,则应在打包时将值替换为JSP.

例如,将其添加到POM可以过滤src/main/resources:

<resources>
  <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
  </resource>
</resources>
Run Code Online (Sandbox Code Playgroud)

更新:对于war包装,您可能需要配置war插件来进行过滤.有关更多详细信息和示例,请参阅Filteringwar-plugin 文档部分.

本质上这个过程是一样的,但它是在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>
Run Code Online (Sandbox Code Playgroud)


Pas*_*ent 11

这可能是愚蠢的,但我会使用.properties这个例子中的文件,而不是直接过滤JSP.