【问题标题】:maven filtering API in MOJOMOJO中的maven过滤API
【发布时间】:2013-03-15 15:26:28
【问题描述】:

我尝试开发一个带有资源过滤的 maven 插件。 在我的代码中我有这个:

Resource file = new Resource();
file.setDirectory(buildDir.getAbsolutePath());
file.addInclude("appcfg.xml");
List<Resource>  listResources = new ArrayList<Resource>();
listResources.add(f);

MavenResourcesExecution mavenResourcesExecution =
         new MavenResourcesExecution ( listeResource, outputDir, project,
                                              encoding, buildFilters,
                                              Collections.<String>emptyList(), mavenSession );


mavenResourcesExecution.setUseDefaultFilterWrappers(true);
mavenResourcesExecution.setInjectProjectBuildFilters(true);

mavenResourcesFiltering.filterResources( mavenResourcesExecution );

当我启动我的 mojo 时,appcfg.xml 文件被复制到输出目录中,但属性不会被值替换。

我的 appcfg.xml 是这样的:

< test name="${project.groupId}__${project.artifactId}__TU" / >

你能帮我找出我的错误在哪里吗?

谢谢

【问题讨论】:

  • 为什么不使用已经支持这种过滤的常用资源插件呢?特殊需求?
  • 啊..您需要在资源中激活过滤,例如 file.setFiltering(true);。除此之外,我建议通过插件配置而不是硬编码来获取资源。
  • 感谢 khmarbaise,file.setFiltering(true) 解决了我的问题。我需要对此进行硬编码,因为我的插件在过滤的同一阶段生成文件

标签: java maven maven-3 maven-plugin


【解决方案1】:

感谢 khmarbaise,file.setFiltering(true) 解决了我的问题。我需要对此进行硬编码,因为我的插件在过滤的同一阶段生成文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多