如何从pom.xml读取数据并在任何Angular组件中显示其值。
例如-我需要在pom.xml中访问/获取版本,并在Angular组件中显示该值。 下面是pom.xml的一部分
<groupId>appName</groupId>
<artifactId>credit</artifactId>
<version>1.0.13.0-dev</version> <!-- THIS FIELD i want in angular-->
<packaging>war</packaging>
此外,我还需要确保在部署后我也能够获得最新的更新版本。
答案 0 :(得分:2)
您可以使用frontend-maven-plugin创建一个environmentVariable,供您的Webpack构建使用
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<executions>
<execution>
<id>webpack build dev</id>
<goals>
<goal>npm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<arguments>run webpack:build</arguments>
<environmentVariables>
<APP_VERSION>${project.version}</APP_VERSION>
</environmentVariables>
</configuration>
</execution>
</executions>
</plugin>
在您的webpack插件中: 如果您不知道如何为角度应用程序使用自定义Webpack,则可以查看此内容 https://www.npmjs.com/package/@angular-builders/custom-webpack
plugins: [
new webpack.DefinePlugin({
'process.env': {
// APP_VERSION is passed as an environment variable from the Maven build tasks.
VERSION: `'${process.env.hasOwnProperty('APP_VERSION') ? process.env.APP_VERSION : 'DEFAULT'}'`
}
}),
然后在您的.ts文件(例如,包含常量的文件)中
export const VERSION = process.env.VERSION;
1.2另一个解决方案是使用js(ts)脚本直接解析pom.xml并读取pom.xml内的version标签