- 浏览: 403226 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (176)
- J2EE (24)
- Oracle (16)
- WebService (2)
- Other (11)
- 编译可添加参数 -keep-generated-actionscript=true (1)
- Log4 日志级别 (1)
- 汉字转拼音 (1)
- 定制文件提取和下载(提供多选) (1)
- soa suit update ip (1)
- IBM X3850 X5 系统安装 (1)
- XEN 虚拟化技术 (3)
- Windows 2003 (1)
- suse (1)
- solaris (1)
- weblogic (3)
- linux (2)
- solairs (1)
- os (1)
- oracle linux suse (1)
- Oracle Inventory Directory (1)
- 开启JBoss7的access_log功能 (0)
- jboss (2)
- 2013 (0)
- 2013-oracle-bpm (2)
- Oracle ERP (2)
- javascript (1)
- start shell command (1)
- PowerDesigner反向工程 mysql (1)
- http://it-ebooks.info/ (1)
- 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一) (1)
- web (1)
- 网站测速实用工具 (1)
- http://www.realvnc.com/download/vnc/5.1.1/ (1)
- 一次关于Waiting for table metadata lock的处理 (1)
- 64位系统下报libstdc++.so.6 GLIBCXX 错误 (1)
- http://baike.baidu.com/link?url=xB3rEIodVQXE7f4PACW9gi4rQeXvzwDirx8c1caiVny8VxqZHggyD3SLmJXV9_OH0jBi9xbY0toxg8noHn1O7a (1)
- MyEclipse (1)
- 探索Eclipse的OSGi控制台 (1)
- http file server (1)
- ZooKeeper-3.3.4集群安装配置 (1)
- 使用Zookeeper实现分布式共享锁 (1)
- http://blog.sina.com.cn/s/blog_7cd4dd3e0101e1rd.html (1)
- http://blog.csdn.net/chenyi8888/article/details/6626302 (1)
- http://www.cnblogs.com/qinwanlin/archive/2012/12/03/2797339.html (1)
- Apache Felix环境配备 (1)
- 安装Subversion1.82(SVN)插件 (1)
- Maven 打包war包 (1)
- squid (1)
- Nginx 做反向代理,后端是 tomcat,chrome 浏览器访问项目时加载大文件失败 ERR_CONTENT_LENGTH_MISMATCH: (1)
- master and slave have equal MySQL server UUIDs 解决方法 (1)
- 分享6个目前国内优秀的Java开源项目----后台管理框架,值的收藏 (1)
最新评论
-
Aceslup:
嗯,已经知道解决方法了。需要JDK环境。
VisualVM指定JDK环境启动 -
静夜独窗:
很好,收藏,有时间好好看看
JVM那些事(heap&stack) -
LoveJavaMM:
你好,看了你的文章有点疑问
第一:
vi /etc/pam. ...
suse 11 telnet 和 ftp安装开通端口 -
方块石:
老兄,解压的要输入内容,是啥子
ant脚本部署war包全过程~~ -
hy158753228:
LZ有遇到过这个问题么:
我安你的说法安装了插件,打开一个.c ...
MyEclipse 8.6反编译插件安装
//CopyFile.java类文件
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
/**
* @author heyigang
*
*/
public class CopyFile extends Task{
private File src;
private File toDir;
private File filter;
private List srcDirs = new ArrayList(); //存放源目录的路径
private List distDirs = new ArrayList(); //存放目的目录的路径
//默认的文件过滤路径
private String DEFAULT_FILTER_PATH = "filter.ini";
/*
* 构造方法
* */
public CopyFile() {
}
/*
* 加载默认的过滤拷贝的文件路径
* */
public void loadFilter() {
loadFilter(new File(DEFAULT_FILTER_PATH));
}
/*
* 加载配置文件中的过滤拷贝的文件路径
* */
public void loadFilter(File fiter) {
try {
BufferedReader reader = new BufferedReader(new FileReader(filter));
String line = null;
while(null!=(line=reader.readLine())) {
//拼接路径
String srcPath = new StringBuffer(src.getPath())
.append(line.trim()).toString();
String distPath = new StringBuffer(toDir.getPath())
.append(line.trim()).toString();
//判断是否位正确的路径或目录
File tempsrcDir= new File(srcPath);
if(!tempsrcDir.isDirectory() || !tempsrcDir.exists()) {
System.out.println(srcPath + " 不是目录或者目录不存在!");
System.exit(1);
}
//将正确的目录添加到list中
srcDirs.add(srcPath);
distDirs.add(distPath);
}
reader.close();
}catch(Exception ex) {
ex.printStackTrace();
}
}
/*
* 从一个文件目录到另外一个文件目录
* */
public void copyDir(File srcDir,File distDir) {
try {
//创建目标文件目录
if(!distDir.exists()) {
distDir.mkdirs();
}
File[] files = srcDir.listFiles();
for (int i = 0; i < files.length; i++) {
File tempFile = files[i];
if(!tempFile.getName().equals(".svn")) {
if(!tempFile.isDirectory()) {
//是文件开始复制...
copyFile(tempFile,new File(getDistPath(tempFile)));
} else {
//是路径继续调用本身
copyDir(tempFile,new File(getDistPath(tempFile)));
}
}
}
}catch(Exception ex) {
ex.printStackTrace();
}
}
/*
* 根据源文件获得目标文件目录的路径或者全文件名称
* */
public String getDistPath(File srcFile) {
return new StringBuffer(srcFile.getAbsolutePath())
.replace(0, src.getPath().length(), toDir.getPath()).toString();
}
/*
* 从一个文件复制该文件到另外一个目录下面
* */
public void copyFile(File srcFile,File distFile) {
try {
if(!distFile.exists()) {
srcFile.createNewFile();
}
BufferedInputStream in = new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(distFile));
byte[] buffer = new byte[1024];
int len = -1;
while(-1!=(len=in.read(buffer))) {
out.write(buffer, 0, len);
}
out.close();
in.close();
}catch(Exception ex) {
ex.printStackTrace();
}
}
/*
* Task的可执行方法...
* */
public void execute() throws BuildException {
try {
loadFilter();
System.out.println("开始复制文件,请稍候...");
System.out.println("从目录:" + src.getAbsolutePath());
System.out.println("到目录:" + toDir.getAbsolutePath());
long start = System.currentTimeMillis();
for (int i = 0; i < srcDirs.size(); i++) {
copyDir(new File((String)srcDirs.get(i)), new File((String)distDirs.get(i)));
}
double time = (double)(System.currentTimeMillis() - start) / 1000;
System.out.println("复制文件完成!总共用时" + time + "秒.");
}catch(Exception ex) {
ex.printStackTrace();
}
}
public File getFilter() {
return filter;
}
public void setFilter(File filter) {
this.filter = filter;
}
public File getSrc() {
return src;
}
public void setSrc(File src) {
this.src = src;
}
public File getToDir() {
return toDir;
}
public void setToDir(File toDir) {
this.toDir = toDir;
}
}
//build.xml 配置文件如下
<?xml version="1.0" encoding="GB2312"?>
<project name="CopyFiles" default="copyfiles">
<target name="help">
<echo message="Available targets are:"/>
<echo message="copefiles --> copy files from src to dist"/>
<echo message="-----------------------------------"/>
<echo message="ant.home --> ${ant.home}"/>
<echo message="ant.version --> ${ant.version}"/>
<echo message=""/>
</target>
<taskdef name="copefiles" classname="CopyFile" classpath="."></taskdef>
<target name="copyfiles" depends="help">
<!--
从源目录src复制filter.ini中文件夹下的目录到制定的todir文件目录下
配置文件需要
//-->
<copefiles src="D:/EIP/trunk/Src/Service/erp" todir="D:/Source_V1.2" filter="Source_V1.2.txt"/>
<copefiles src="D:/EIP/trunk/Src/Service/erp" todir="D:/Source_V2.1" filter="Source_V2.1.txt"/>
</target>
</project>
//Source_V1.2.txt 制定需要配置的文件路径
/ot/com/SC_OT_QueryResponsibility
/ot/com/SC_OT_RequestReturnStatusSrv
/ot/com/SC_OT_VerifyAPInvoiceCurrencySvr
/ot/com/SC_OT_VerifyCurrencySvr
/ot/com/SC_OT_COM_VerifyAPInvoiceCurrencySvr
//command.bat 可执行文件
set classpath=%classpath%;%ANT_HOME%\lib\ant.jar;
call javac CopyFile.java
call ant
cd D:\JAVA\apache-ant-1.7.0\hyg
cmd
//所有的配置做好之后,运行command.bat就可以开始进行复制了。
//项目开发过程好过程中,在部署包的时候取包不方便,便有了这个需求,发了10分钟写了CopyFile.java这个核心类。感觉还挺好用。
评论
比如在使用ant的copys时,可以增加属性
<fileset dir="${web.dir}" includes="@{patchFileList}" />
includes="
WEB-INF/classes/cn/edu/tsinghua/dictionary/**,
xx.jsp,
"
发表评论
-
java jdk 下载地址
2012-01-17 14:14 1052jre http://java.com/zh_CN/down ... -
myeclipse插件汇总积累
2011-06-17 21:53 11111. tomcat插件: http://www.eclip ... -
[转]css3
2011-05-03 14:53 1311作为一个Web开发者,保持对未来Web标准的关注、学习和了解是 ... -
IE&FF兼容性
2011-04-04 17:33 12481. document.form.item 问题 (1)现 ... -
MyEclipse 8.6反编译插件安装
2011-01-08 16:03 9384第一步: 下载j ... -
QC邮件转发工具Mail Direct安装配置手册
2010-11-01 13:57 5028转 + > http://blog.163.com/k ... -
solaris机器操作....
2010-06-30 21:29 14011. 查看用户所在的组cat ... -
java反编译工具~
2010-06-11 20:10 931前几天从同事那里弄来一个很不错的java反编译工具。感觉有起来 ... -
收藏的URL
2010-02-25 17:19 10141. eclipse中反编译插件jadClipse http ... -
使用 Telnet 端口 25 测试 SMTP 通信
2010-02-24 17:10 2980From: http://www.cnitblog.com/w ... -
操作log4jAPI
2009-11-12 10:58 1213import java.io.ByteArrayOutputS ... -
Eclipse 插件
2009-10-15 10:09 13061. commons4e 插件. 这个Eclipse插件方便 ... -
最近公司内网打不开myeclipse官网
2009-06-25 09:17 2195最近想上官网下载些东西, 一直都打不开。后来使用代理 ,终 ... -
ant脚本部署war包全过程~~
2009-06-17 17:38 3845最近写了一个部署打包的ant,功能真强大,自动更新svn源码, ... -
自动生成toString方法.
2008-12-07 16:23 2102package com.zte; import java.la ... -
sqlplus如何执行command脚本。
2008-10-26 11:27 1906打开sqlplus,file->open->com ... -
Hibernate 的 batch_size 与事务
2008-09-04 14:56 1531batch_size 即同时提交数据的数量,原本与事务并没有什 ... -
关于FastHashMap...
2008-09-02 10:51 2651今天在开发过程中碰到了一处使用了beanutil中的fasth ... -
连接字符串中碰到的SelectMethod=cursor
2008-09-01 14:45 2140今天在数据库连接字符串中看到了selectMethod=cur ... -
Sqlplus中编译java需添加jar包的命令!
2008-08-20 17:52 1554loadjava -user user/pwd@sid pat ...
相关推荐
例如,元素定义了整个构建的根,元素表示一个具体的构建任务,用于指定类路径,用于编译Java源代码,用于复制文件,用于创建JAR文件等。每个元素都有其特定的属性,如source、target用于设置Javac的编译级别,...
本文将深入探讨“Ant自定义任务”的概念、实现方式以及实际应用。 Ant是基于XML的构建工具,其主要任务定义在名为`build.xml`的文件中。默认情况下,Ant提供了一系列内置的任务,如编译Java源代码、打包JAR文件、...
在给定的标题“ant的build文件说明”中,我们关注的是如何理解和使用Ant的build文件。 `build.xml`是Ant的构建配置文件,它是整个构建过程的蓝图。文件中包含了各种元素,如`project`、`target`、`task`等,这些...
- 文件集是Ant处理文件和目录的一种方式,可以指定一组文件,然后在多个任务中重用。 5. **宏定义(Macrodefs)** - 宏定义允许创建自定义的任务,方便复用和抽象复杂的构建逻辑。 6. **依赖关系(Dependencies...
Ant 使用`classpath`或`classpathref`来指定运行时所需的类库。可以是绝对路径,也可以是相对路径或者文件集。例如: ```xml **/*.jar"/> ``` 上面定义了一个类路径,包含了`library.jar`和`lib`目录下的...
- `<task>`标签用于调用Ant内置或者自定义的任务,如`<javac>`用于编译Java源码,`<copy>`用于复制文件。 3. **执行Ant** - 在命令行中,进入包含`build.xml`的目录,然后输入`ant [target]`命令,不指定target则...
5. **copy** 和 **move**:这些任务用于在构建过程中移动文件,例如复制库到指定目录,或者在编译后将SWF文件移动到Web服务器的发布目录。 在实际使用中,你还需要确保正确安装并配置了Adobe Flex SDK和Ant。通常,...
4. copy:复制文件或目录,可以使用todeldir属性指定目标位置。 5. mkdir:创建目录,dir属性指定了要创建的目录路径。 五、条件语句与循环 1. if/else:根据条件决定是否执行某个任务。 2. foreach:遍历集合,...
ANT-build.xml文件是Apache Ant构建工具的核心配置文件,它使用XML格式定义了构建项目的所有步骤和任务。Ant是Java社区广泛使用的自动化构建工具,它的主要优势在于跨平台性、易用性和灵活性。 1. **Ant与Makefile...
- Ant的任务是构建过程中的基本操作单元,例如javac任务用于编译Java源代码,copy任务用于复制文件,jar任务用于创建JAR文件等。 - 任务可以通过属性来定制,例如javac任务中的srcdir指定源代码目录,destdir指定...
4. **自定义构建目标**:`build.xml`可以定义多个目标,通过在命令行指定目标名来选择执行哪个目标,如`ant compile`或`ant package`。每个目标可以依赖其他目标,形成构建链。 5. **属性与属性文件**:Ant支持使用...
6. **脚本支持**:Ant允许在构建文件中嵌入Ant任务之外的自定义脚本,如Java、Perl或Python,以执行更复杂的任务。 压缩包中的“build2.xml”和“build1.xml”是Ant的构建文件。这些文件定义了构建项目的步骤、目标...
3. **任务驱动**:Ant提供了丰富的内置任务,如`javac`用于编译Java源代码,`jar`用于打包JAR文件,`copy`用于文件复制等。同时,用户还可以自定义任务以满足特殊需求。 4. **依赖管理**:Ant可以处理项目间的依赖...
使用`-buildfile`选项可以指定不同的构建文件,`-find`选项则会让Ant在父目录中搜索构建文件。执行特定的目标可以使用目标名称,如`ant compile`来只执行名为`compile`的目标。如果未指定目标,Ant会执行默认目标。 ...
Ant提供了丰富的任务来处理文件系统操作,如复制文件、创建目录等。 ```xml ${build.dir}"> ${src.dir}"> **/*.java"/> ``` ##### 6.2 模式匹配 Ant支持模式匹配来过滤文件和目录。 ```xml ${src.dir}"> *...
5. **文件集(Filesets)**:文件集是Ant处理文件的一种方式,它可以指定一组满足特定条件的文件,如所有.java文件或者特定目录下的所有文件。 6. **依赖关系(Dependencies)**:Ant会根据目标之间的依赖关系来...
每个任务由`<name>`元素定义,它对应一个具体的Ant任务,如编译Java源文件、复制文件等。 ### Ant的任务 Ant的任务分为三类:核心任务、可选任务和用户自定义任务。核心任务是Ant自带的,可选任务需要额外的JAR文件...
此外,Ant支持使用文件集(fileset)来指定一组文件,这对于处理大量文件非常有用。例如,你可以创建一个文件集来包含所有的Java源代码,然后用它来执行编译任务。 标签"java"表明Ant主要与Java开发相关,但Ant也...