关于使用myeclipsC创建工具打包CLASS文件整理
第一步,新建一个文件夹,命名随意,(英文名)如图然后新建一个文本文件
fileList文档写上你要打包的东西,无论是JSP,JS,XML,JAVA等等文件你需要打包的如下:
紧接着在你的myeclips新建一个test测试类,该测试类为前辈所写,是一个简单的打包JAVA编译后CLASS文件的工具
package com.db;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.FileFilterUtils;
import com.ztesoft.ibss.inf.framework.utils.StringUtils;
@SuppressWarnings({ "unchecked" })
public class GenUpdateDir {
public static void main(String[] args) {//运行入口
GenUpdateDir.getUrFileToDir();
}
/**
* 复制UR更新的文件到指定目录
* @param filesUrl
*/
public static void getUrFileToDir(){
String targetFolder = "C:/Users/Administrator/Desktop/im";//文件夹名字
String workspaces = "D:/NC/wssnet";//你的工作空间项目所在位置
String filesListName = "C:/Users/Administrator/Desktop/im/fileList.txt";//文本文档位置
String classUrl = "/WebRoot/WEB-INF/classes";//(我这一个项目下部署了两个工程)即是项目下WEB-INF下的class是你要导出的CLASS路径若只有一个工程,定义一个即可下同
String classUrlWap = "/WapRoot/WEB-INF/classes";//
try {
List<String> filesUrl = FileUtils.readLines(new File(filesListName), "utf-8");
if(filesUrl.isEmpty()){
return;
}
//删除上次导出的文�?
FileUtils.deleteDirectory(new File(targetFolder));
for (String fileUrl : filesUrl) {
fileUrl = StringUtils.trim(fileUrl);
String toUrl = "";
if(StringUtils.isEmpty(fileUrl)){
continue;
}
fileUrl = workspaces + fileUrl;
if (fileUrl.endsWith(".java")) {
fileUrl = fileUrl.replaceFirst("/src", classUrlWap).replaceFirst(".java", ".class");
}
File from = new File(fileUrl);
if(!from.isFile()){
fileUrl = fileUrl.replaceFirst(classUrlWap, classUrl);
from = new File(fileUrl);
}
toUrl = fileUrl.replaceFirst(workspaces, targetFolder);
File to = new File(toUrl);
System.out.println("fileUrl:" + fileUrl);
System.out.println(" toUrl:" + toUrl);
if (from.isFile()) {
FileUtils.copyFile(from, to);
// 查找是否存在内部�?
if (fileUrl.endsWith(".class")) {
Collection<File> files = FileUtils.listFiles(from.getParentFile(),
FileFilterUtils.prefixFileFilter(from.getName().replaceAll(".class", "\\$")),
FileFilterUtils.directoryFileFilter());
for (File file : files) {
FileUtils.copyFile(file, new File(to.getParent() + "/" + file.getName()));
}
}
} else if (from.isDirectory()) {
FileUtils.copyDirectory(from, to);
}
}
//如果WebRoot存在,复制class到wap目录�?
if(new File(targetFolder+"/WebRoot").isDirectory() &&
new File(targetFolder+classUrlWap).isDirectory()){
FileUtils.copyDirectory(new File(targetFolder+classUrlWap), new File(targetFolder+classUrl));
} else {
//如果WapRoot存在,复制class到web目录�?
if(new File(targetFolder+"/WapRoot").isDirectory() &&
new File(targetFolder+classUrl).isDirectory()){
FileUtils.copyDirectory(new File(targetFolder+classUrl), new File(targetFolder+classUrlWap));
}
}
// 打开文件�?
String[] cmd = new String[5];
cmd[0] = "cmd";
cmd[1] = "/c";
cmd[2] = "start";
cmd[3] = " ";
cmd[4] = targetFolder;
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
e.printStackTrace();
}
}
}
然后运行该测试类即可得到你所需要的打包文件
!