java - FreeMarker修改现有文件

标签 java file freemarker

我想使用 FreeMarker 修改现有文件。 例如,

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  package="$(package_name)">
  $(activities)
  <activity android:name=".map.activity.MapsDemoActivity" />
  <activity android:name=".map.activity.MapListActivity" />
  <activity android:name=".map.activity.EventsDemoActivity" />
  <activity android:name=".map.activity.InfoWindowDemoActivity" />
  <activity android:name=".map.activity.CustomMarkerClusteringDemoActivity" />
</manifest>

在上面的代码中,我想更新 $(package_name) 和 $(activities)。

我使用的是org.freemarker:freemarker:2.3.23,需要使用Java程序进行此文件修改。

我知道如何使用免费制作工具创建新文件,但无法使用 java 程序修改现有文件。

请提出任何解决方案。

最佳答案

在recipe.xml中使用合并命令

<merge from="root/src/AndroidManifest.xml.ftl"    
to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />

在 root/src/AndroidManifest.xml.ftl 中 您只需指定要插入的元素

关于java - FreeMarker修改现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42416658/

相关文章:

java - 无法使用 Java 删除文件夹

java - Spring MVC HashMap 表单集成

java - 如何在 Apache Tiles 中注册属性渲染器?

java - 线程 "main"java.util.NoSuchElementException 中的异常 java.util.Scanner. throwFor(Scanner.java :862)

c - 静态数组 - 我应该在哪里定义它?

java - 映射到实现接口(interface)的类

c - 读取 double 值在 C 中的内存监视中产生不完全相同的值

java - 如何渲染路径中有符号链接(symbolic link)的 freemarker 模板?

java - Elasticsearch 1.5 没有queryapi的curl删除

java - ActionListener 内的递归