Paq*_*oft 16 java maven-plugin maven
我在这里阅读了一些关于如何从maven插件设置属性(大多数人谈论应用程序的版本号)的问题.似乎没有简单的方法可以做到这一点,我找到的最佳解决方案是有一个filter.properties文件,该文件从插件更新并由主pom文件用于过滤所需的资源.
我从Maven文档(Maven过滤器插件)中读到这个后尝试了另一个解决方案:
变量可以包含在您的资源中.这些变量由$ {...}分隔符表示,可以来自系统属性,项目属性,过滤器资源和命令行.
我发现有趣的是可以从系统属性中读取变量.所以,我修改了我的插件来设置这样的系统属性:
System.setProperty("currentVersion", appCurrentVersion);
Run Code Online (Sandbox Code Playgroud)
但是,过滤的资源似乎不会读取此值.谁能告诉我这种方法有什么问题?
更新:我在验证阶段运行我的插件.
非常感谢.
Sea*_*oyd 23
不要将其设置为系统属性,将其设置为Maven Project属性
// inject the project
@Parameter(defaultValue = "${project}")
private org.apache.maven.project.MavenProject project;
// and in execute(), use it:
project.getProperties().setProperty("currentVersion", appCurrentVersion);
Run Code Online (Sandbox Code Playgroud)
看到:
| 归档时间: |
|
| 查看次数: |
7716 次 |
| 最近记录: |