在AngularJS中显示POM版本号

时间:2015-09-14 08:29:15

标签: java angularjs rest maven

在我的Angular App中显示POM文件中包含的版本号的最有效方法是什么?

我在Tomcat上运行了一个REST应用程序。

我想有几个选项

  1. 拥有一个只提供应用程序版本号的REST服务
  2. 在mvn构建期间创建一个文本文件并将其复制到Web应用程序中,然后从前端读取该文件
  3. 有没有人遇到过这个?

2 个答案:

答案 0 :(得分:3)

这样做的典型方法是在Web应用程序的某个文件中添加版本的占位符,并在编译时替换该占位符:

  1. ${project.version}下的所选文件中添加占位符src/main/webapp
  2. 像这样配置maven-war-plugin

    <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
            <webResources>
                <resource>
                    <directory>src/main/webapp</directory>
                    <filtering>true</filtering>
                </resource>
            </webResources>
        </configuration>
    </plugin>
    

    此插件将在构建时使用当前的Maven版本替换占位符${project.version}

  3. 您的应用程序的其余部分现在可以访问Maven版本,就像它是一个简单的硬编码字符串一样。

答案 1 :(得分:0)

您可以使用maven replacer插件在构建期间通过pom中的版本替换文件(网页)中的特定模式。例如:

            <plugin>
                <groupId>com.google.code.maven-replacer-plugin</groupId>
                <artifactId>replacer</artifactId>
                <version>1.5.3</version>
                <executions>
                    <execution>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>replace</goal>
                        </goals>                    
                    </execution>
                </executions>
                <configuration>      
                    <file>${warSourceDirectory}/index.html</file>
                    <replacements>
                        <replacement>
                            <token>%PROJECT_VERSION%</token>
                            <value>${project.version}</value>
                        </replacement>
                    </replacements>
                </configuration>
            </plugin>