生成部署项目的XML文件
开发的时候在MyEclipse发布项目到tomcat比较耗时,有一种简单的方法是xml方式
在Tomcat安装目录生成\conf\Catalina\localhost\${baseDir}.xml
package com.javaweb.utils; import java.io.File; import java.io.FileWriter; import java.io.IOException; import javax.servlet.ServletContext; import org.apache.log4j.Logger; import org.apache.struts2.ServletActionContext; public class DeployUtil { private static Logger logger = Logger.getLogger(DeployUtil.class); public static String getExtentionName(String fileName) { return fileName.substring(fileName.lastIndexOf(".")); } /** * 生成项目部署xml配置文件</br> * ${tomcat}\conf\Catalina\localhost\baseDir.xml * @param baseDir 项目访问名称 * @param targetDir 项目路径 * @return */ public static Boolean createConfigXML(String baseDir, String targetDir) { ServletContext sctx = ServletActionContext.getServletContext(); if(null == sctx){ //throw new RuntimeException("ServletContext is null"); } //String realPath = sctx.getRealPath(File.separator); String realPath = "D:\\Program Files\\apache-tomcat-6.0.30\\apache-tomcat-6.0.30\\conf\\Catalina"; File configFile = new File(realPath).getParentFile().getParentFile(); String tempFile = File.separator + "conf" + File.separator + "Catalina" + File.separator + "localhost"; configFile = new File(configFile, tempFile); this.createDir(configFile); File newFile = new File(configFile, baseDir + ".xml"); StringBuilder virtualPathXML = new StringBuilder(); virtualPathXML.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"); virtualPathXML.append("<Context docBase=\""); virtualPathXML.append(targetDir); virtualPathXML.append("\" path=\"/"); virtualPathXML.append(baseDir); virtualPathXML.append("\" reloadable=\"true\"></Context>"); FileWriter fileWriter; try { fileWriter = new FileWriter(newFile); fileWriter.write(virtualPathXML.toString()); fileWriter.flush(); } catch (IOException e) { logger.error("Create virtual path for upload file wrong." + e); return Boolean.FALSE; } return Boolean.TRUE; } public static void createDir(File file) { if (!file.exists()) { file.mkdirs(); } } public static void main(String[] args) { createConfigXML("demo", "D:\\zhang\\demo"); } }
运行后自动的生成xml文件,在Tomcat\conf\Catalina\localhost\demo.xml里内容如下:
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="D:\zhang\demo" path="/demo" reloadable="true"></Context>

浙公网安备 33010602011771号