【问题标题】:Displaying POM version number in AngularJS在 AngularJS 中显示 POM 版本号
【发布时间】:2015-09-14 08:29:14
【问题描述】:

在我的 Angular 应用程序中显示 POM 文件中包含的版本号的最有效方式是什么?

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

我想有几个选项

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

有人遇到过这种情况吗?

【问题讨论】:

  • 我们所做的只是编写一个发送{产品版本、环境、用户名}的服务。这是通过 app.module('app').config 调用的。

标签: java angularjs rest maven


【解决方案1】:

执行此操作的典型方法是在 Web 应用程序的某些文件中添加版本占位符并在编译时替换该占位符:

  1. src/main/webapp 下您选择的文件中添加占位符${project.version}
  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>
    

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

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

【讨论】:

  • 这是否意味着如果我在调试模式下运行应用程序而没有打包战争,我将不会显示版本号?
  • @Pram 这取决于你的 IDE 是如何配置的。使用最新的 Eclipse、m2e 和 m2e-wtp,它应该可以工作并且应该显示版本号。
【解决方案2】:

您可以使用 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>

【讨论】:

    猜你喜欢
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2011-08-09
    • 2014-10-22
    • 2015-04-01
    • 2020-07-31
    相关资源
    最近更新 更多