|
|
@@ -1,5 +1,6 @@
|
|
|
package com.zheng.common.util;
|
|
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.velocity.Template;
|
|
|
import org.apache.velocity.VelocityContext;
|
|
|
import org.apache.velocity.app.Velocity;
|
|
|
@@ -7,6 +8,7 @@ import org.apache.velocity.app.VelocityEngine;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.FileWriter;
|
|
|
+import java.util.Properties;
|
|
|
|
|
|
/**
|
|
|
* Velocity工具类
|
|
|
@@ -23,9 +25,11 @@ public class VelocityUtil {
|
|
|
*/
|
|
|
public static void generate(String inputVmFilePath, String outputFilePath, VelocityContext context) throws Exception {
|
|
|
try {
|
|
|
- Velocity.init();
|
|
|
- VelocityEngine engine = new VelocityEngine();
|
|
|
- Template template = engine.getTemplate(inputVmFilePath, "utf-8");
|
|
|
+ Properties properties = new Properties();
|
|
|
+ properties.setProperty(VelocityEngine.FILE_RESOURCE_LOADER_PATH, getPath(inputVmFilePath));
|
|
|
+ Velocity.init(properties);
|
|
|
+ //VelocityEngine engine = new VelocityEngine();
|
|
|
+ Template template = Velocity.getTemplate(getFile(inputVmFilePath), "utf-8");
|
|
|
File outputFile = new File(outputFilePath);
|
|
|
FileWriter writer = new FileWriter(outputFile);
|
|
|
template.merge(context, writer);
|
|
|
@@ -35,4 +39,30 @@ public class VelocityUtil {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据文件绝对路径获取目录
|
|
|
+ * @param filePath
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getPath(String filePath) {
|
|
|
+ String path = "";
|
|
|
+ if (StringUtils.isNotBlank(filePath)) {
|
|
|
+ path = filePath.substring(0, filePath.lastIndexOf("/") + 1);
|
|
|
+ }
|
|
|
+ return path;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据文件绝对路径获取文件
|
|
|
+ * @param filePath
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String getFile(String filePath) {
|
|
|
+ String file = "";
|
|
|
+ if (StringUtils.isNotBlank(filePath)) {
|
|
|
+ file = filePath.substring(filePath.lastIndexOf("/") + 1);
|
|
|
+ }
|
|
|
+ return file;
|
|
|
+ }
|
|
|
+
|
|
|
}
|