使用Maven修改存档

时间:2014-11-17 23:53:06

标签: java maven

请帮我评估maven是否可以用于我面临的问题。希望你能给我一些关于maven的提示或建议使用不同的工具。

问题: 我们有一个包含资源的模板存档。我们需要使用自定义文件/数据基于模板创建新的存档。

  • 模板中的某些文件必须替换为自定义文件。
  • 必须处理某些文件,并且必须使用自定义变量替换这些文件中的占位符。 (即$ {filename} - >“my_file_name.txt”)

pom文件应该描述应该替换哪些文件以及应该从哪里获取自定义文件。此外,它还应描述占位符处理器要处理的文件以及获取变量值的位置。

可以编写一个java程序来完成所有这些工作,但是必须一次又一次地更改Java代码以获得一组不同的自定义文件和新的占位符。希望借助maven(如果需要还可以自定义插件),此任务可能是一项简单的配置任务。

示例:

模板文件夹:

/src/main/resources/file1.xml
/src/main/resources/file2.xml
/META-INF/MANIFEST.MF

file2.xml:

<file>${file_name}</file>

自定义文件夹:

/src/main/resources/file1.xml
/src/main/resources2/file3.xml

自定义属性文件:

file_name=my_file_name.xml

结果:

/src/main/resources/file1.xml
/src/main/resources/file2.xml
/src/main/resources2/file3.xml
/META-INF/MANIFEST.MF

file2.xml:

<file>my_file_name.xml</file>

问题:

  1. 如何将未修改的MANIFEST.MF放入目标文件夹。 我试着用

    &LT;档案&GT;

    &LT; addMavenDescriptor&GT假LT; / addMavenDescriptor&GT;    &LT; manifest资源配置文件&GT; SRC /主/资源/模板/ META-INF / MANIFEST.MF&LT; / manifest资源配置文件&GT;

    &LT; /存档&GT;

  2. 但它只是禁用了META-INF的'maven'部分。最明显的.mf仍由maven生成

    1. 如何实现占位符/变量处理器?

    2. 如何将生成的文件集压缩为.zip文件?

    3. 如何从java类调用maven构建?

    4. 是否有替代工具可能更适合我的任务?

    5. 的问候, 髂骨

1 个答案:

答案 0 :(得分:0)

这是很多问题,但我会尝试回答:

  1. 将META-INF / MANIFEST.MF移至/ src / main / resources /

  2. 已在http://maven.apache.org/plugins/maven-resources-plugin/上实施,以使用$ {propertyName}替换资源文件中的属性

  3. 可以使用http://maven.apache.org/plugins/maven-assembly-plugin/

  4. 创建拉链
  5. 不要这样做,从命令行,IDE或持续集成服务器调用Maven。

  6. On工具可以是Gradle,也可以是旧的Ant来命名其中一些。