将文件读入 Maven 属性

Posted

技术标签:

【中文标题】将文件读入 Maven 属性【英文标题】:Read a file into a Maven property 【发布时间】:2012-03-09 06:20:35 【问题描述】:

是否可以读取文件并将全部内容存储到 Maven 属性中?

我正在尝试生成一些自定义 JavaDoc,它们可以选择设置标题,但它必须是字符串,而不是文件名(出于某种原因)。我显然不想将一堆 html 放入我的 pom.xml,所以我需要一种方法来读取我的 header.html 作为 Maven 属性。

这可能吗?我找不到标准方法,但似乎 Maven 插件可以做到这一点。

显然是Ant has what I want,但我更喜欢比 Ant 任务更轻的东西。

【问题讨论】:

布伦丹,解决方案有效吗?我还没有机会亲自尝试。 【参考方案1】:

请参阅this 关于 SO 的问题。这是properties-maven-plugin。

如果您不想使用 .properties 文件,我建议您使用 Groovy 插件和我编写的一个小脚本:

<plugin>
  <groupId>org.codehaus.gmaven</groupId>
  <artifactId>gmaven-plugin</artifactId>
  <version>1.4</version>
  <executions>
    <execution>
      <phase>generate-resources</phase>
      <goals>
        <goal>execute</goal>
      </goals>
      <configuration>
        <properties>
          <header_file>header.html</header_file>
        </properties>
        <source>
          def file = new File(project.properties.header_file)
          project.properties.header_content = file.getText()
        </source>
      </configuration>
    </execution>
  </executions>
</plugin>

执行此插件后,您应该可以引用包含header.html 文件内容的$header_content 属性。

【讨论】:

如果你需要读取pom文件中的属性,这不起作用

以上是关于将文件读入 Maven 属性的主要内容,如果未能解决你的问题,请参考以下文章

将带有换行符的固定长度文本文件作为属性值之一读入 JavaRDD

将动态属性列表读入 Spring 托管 bean

将动态属性列表读入 Spring 托管 bean

如何通过 Maven 属性将属性设置为 gwt.xml 文件?

将属性文件与 Maven 程序集合并

Maven将属性文件添加到jar文件