【发布时间】: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