社区
Java
帖子详情
可不可以在ant打jar包时锁定,不然其他程序使用正在生成的jar包
deng129253
2012-08-14 04:33:16
问题如题
...全文
114
2
打赏
收藏
可不可以在ant打jar包时锁定,不然其他程序使用正在生成的jar包
问题如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
deng129253
2012-08-14
打赏
举报
回复
可以考虑试试
老9
2012-08-14
打赏
举报
回复
你可以打包到另外一个目录下,然后在拷贝就行了啊。
Ant
1.9.2 API (CHM格式)
Ant
是Java
程序
员的一个好的工具,主要可以帮助
程序
员进行java项目的的管理,包括批量编译、部署、文档
生成
等工作,其用途远不止如此,
ant
内置了大量的API进行各种文件系统操作,在各种应用服务器中都被广泛应用于
程序
和资源的部署。
Ant
功能强大的地方在于,
程序
员不仅能通过编写
Ant
的脚本(build.xml)来进行各种文件部署管理操作,还可以通过调用
Ant
的丰富的API,甚至扩展
Ant
的API进行编程。 1. 目录操作: 1) 创建目录 1. Project prj=new Project(); 2. Mkdir mkdir=new Mkdir(); 3. mkdir.setProject(prj); 4. mkdir.setDir(new File("d:tempdir1")); 5. mkdir.execute(); 2) 删除目录 1. Project prj=new Project(); 2. Delete delete=new Delete(); 3. delete.setProject(prj); 4. delete.setDir(new File("d:tempdir1")); //可同
时
将子目录及所有文件删除 5. delete.execute(); 注:对每一个
Ant
Task,如Mkdir,Delete、Copy、Move、Zip等,都必须设置一个Project对象,可以几个
Ant
Task共用一个Project对象,但不能有
Ant
Task不设置Project对象。 2. 文件拷贝和移动、更名 1)文件copy 1. Project prj=new Project(); 2. Copy copy=new Copy(); 3. copy.setProject(prj); 4. copy.setFile(new File("d:tempf1.txt"); 5. copy.setTodir(new File("d:tempdir1")); 6. copy.execute(); //将f1.txt文件copy到dir1中 2)copy文件并同
时
替换其中的内容, 如将 xml中的 @eosapp_name@ 替换成真正的应用名称 1. Project prj=new Project(); 2. Copy copy = new Copy(); 3. copy.setEncoding("UTF-8"); 4. copy.setProject(prj); 5. copy.setTodir("d:temp"); 6. 7. FileSet fileSet=new FileSet(); 8. fileSet.setDir(new File(eosHome "/base/template.app")); 9. fileSet.setIncludes("**/*.xml"); 10. copy.addFileset(fileSet); 11. 12. FilterSet filter=copy.createFilterSet(); 13. filter.addFilter("eosapp_name","app1"); 14. copy.execute(); 2)文件或目录移动 Move的用法和Copy用法基本一致,Move本身为Copy的子类。 1. Project prj=new Project(); 2. Copy copy=new Copy(); 3. copy.setProject(prj); 4. copy.setFile(new File("d:tempf1.txt"); 5. copy.setTodir(new File("d:tempdir1")); 6. copy.execute(); //将f1.txt文件移动到dir1中 3)文件改名: 1. Project prj=new Project(); 2. Copy copy=new Copy(); 3. copy.setProject(prj); 4. copy.setFile(new File("d:tempf1.txt"); 5. copy.setTodir(new File("d:tempf2.txt")); 6. copy.execute(); //将f1.txt文件更名为f2.txt中 4)目录更名: 1. Project prj=new Project(); 2. Copy copy=new Copy(); 3. copy.setProject(prj); 4. copy.setFile(new File("d:tempdir1"); 5. copy.setTodir(new File("d:tempdir2")); 6. copy.execute(); //将dir1目录更名为dir2,相当于将dir1目录下的所有文件移到dir2目录下 3.
使用
文件集 FileSet
使用
文件集可以同
时
将多个满足匹配条件的文件集合进行copy、move和压缩等操作。 1. Project prj=new Project(); 2. Copy copy=new Copy(); 3. copy.setProject(prj); 4. copy.setTodir(new File("d:temptodir")); 5. 6. FileSet fs=new FileSet(); 7. fs.setProject(prj); 8. fs.setDir(new File("d:javaprjsrc")); 9. fs.setIncludes("**/*.*"); //包含所有文件 10. fs.setExcludes("**/CVS,**/*.class"); //排除CVS相关文件,以及.class文件 11. copy.addFileset(fs); 12. 13. copy.execute(); 注: FileSet的setIncludes, 和setExcludes方法输入pattern, pattern是一个
使用
“,”或空格分隔的匹配字符串,其中, “**”代表所有文件或目录,“*.*”代表说有文件, “*.java”代表所有扩展名为java的文件。 4.目录扫描,查找文件 1. DirectoryScanner ds=new DirectoryScanner(); 2. ds.setBasedir(new File("d:tempwar")); 3. ds.setIncludes(new String[] ); 4. ds.scan(); 5. if(ds.getIncludedFilesCount()>0) { 6. System.out.println("found jsp!"); 7. String[] includeFiles=ds.getIncludedFiles(); 8. for(String file:includeFiles){ 9. System.out.println(file); 10. } 11. } 5.文件压缩,打包 //压缩为zip文件 1. Project prj=new Project(); 2. Zip zip=new Zip(); 3. zip.setProject(prj); 4. zip.setDestFile(new File("d:tempsrc.zip")); 5. FileSet fileSet=new FileSet(); 6. fileSet.setProject(prj); 7. fileSet.setDir(new File("d:javaprjprj1src")); 8. fileSet.setIncludes("**/*.java"); 9. zip.addFileset(fileSet); 10. zip.execute(); 11. 12. //将class文件打成
jar包
13. Project prj=new Project(); 14. Jar jar=new Jar(); 15. jar.setProject(prj); 16. jar.setDestFile(new File("d:tempprj1.jar")); 17. FileSet fileSet=new FileSet(); 18. fileSet.setProject(prj); 19. fileSet.setDir(new File("d:javaprjprj1bin")); 20. fileSet.setIncludes("**/*.class,**/*.properties"); 21. jar.addFileset(fileSet); 22. jar.execute(); 6.文件解压 1)将压缩文件中的所有文件解压 1. Project prj=new Project(); 2. Expand expand=new Expand(); 3. expand.setProject(prj); 4. expand.setSrc(new File("d:tempsrc.zip")); 5. expand.setOverwrite(overwrite); 6. expand.setDest("d:tempoutsrc"); 7. expand.execute(); 2)将压缩文件中的符合匹配条件的文件解压 1. Project prj=new Project(); 2. Expand expand=new Expand(); 3. expand.setProject(prj); 4. expand.setSrc(new File("d:tempsrc.zip")); 5. expand.setOverwrite(overwrite); 6. expand.setDest("d:tempoutsrc"); 7. PatternSet patternset = new PatternSet(); 8. patternset.setIncludes("**/*.java"); 9. patternset.setProject(prj); 10. expand.addPatternset(patternset); 11. expand.execute(); 3)利用Mapper解压文件: 如将 .../lib/*.jar 解压到 .../WEB-INF/lib目录下(去除目录结构) 1. Expand expand = new Expand(); 2. expand.setProject(prj); 3. expand.setSrc(new File(zipFilePath)); 4. expand.setDest(new File(webDir "/WEB-INF/lib")); 5. 6. PatternSet pattern = new PatternSet(); 7. pattern.setIncludes("lib/*.jar"); 8. expand.addPatternset(pattern); 9. 10. FileNameMapper mapper=new FlatFileNameMapper(); 11. expand.add(mapper); 12. 13. /* another way using mapper 14. Mapper mapper=expand.createMapper(); 15. MapperType type=new MapperType(); 16. type.setValue("flatten"); 17. mapper.setType(type); 18. */ 19. expand.execute(); 7.读取zip文件 1) 读取zip文件中的文件和目录 1. ZipFile zipfile = new ZipFile(new File(filepath)); 2. for (Enumeration entries = zipfile.getEntries(); entries.hasMoreElements();) { 3. ZipEntry entry = (ZipEntry) entries.nextElement(); 4. if(entry.isDirectory()) 5. System.out.println("Directory: " entry.getName()); 6. else 7. System.out.println("file: " entry.getName()); 8. } 9. zipfile.close(); //ZipFile用完必须close,否则文件被
锁定
2)zip文件扫描,在Zip文件中查找目录或文件 1. ZipScanner scan=new ZipScanner(); 2. scan.setSrc(new File("d:temptest.zip")); 3. scan.setIncludes(new String[] ); //查找目录(一、二级目录); 4. scan.scan(); 5. String dirs[]=scan.getIncludedDirectories(); 6. scan.setIncludes(new String[]); //查找文件 7. scan.scan(); 8. String files[]=scan.getIncludedFiles(); 从之前发布其他chm文件下载用户的反映看,有不少朋友反映下载后打开无法显示,这一般不是chm文件的问题,这里统一说明一下解决办法: 如果文件打开看不到右边的内容,是因为你的操作系统为了安全对下载的chm文件进行了
锁定
,只需要在打开前右键单击该chm文件选择“属性”,然后在“常规”选项卡的下方单击“解除
锁定
”按钮就可以了。如果还是不能看,请再查看一下你的chm文件所存储的目录或文件名是否有特殊字符如“#”号字符等,去掉特殊字符即可。
Flash持续集成自动化单元测试
-AfterClasses
Java
Jar包
使用
与管理指南
本文还有配套的精品资源,点击获取 简介:Java开发中,
jar包
是一种压缩格式,用于整合多个类文件、元数据和资源文件。它提高了代码的模块化、重用性、加载效率和简化了依赖管理。本指南详细介绍了
jar包
的定义、结构、创建、运行、依赖管理、版本控制、签名、混淆、
使用
方法及其在Java Web应用中的应用,是Java开发者构建和管理代码的必备知识。 1.
jar包
概念与结...
eclipse:
使用
ant
将java项目文件编译为jar文件 +
ant
常用命令总结
1. eclipse下
使用
ant
项目结构如图 1. 在项目的根目录下创建build.xml文件 2. 项目右键-->properties-->Builders-->new-->
Ant
Builder 如图 3. 在弹出的对话框里填入Name,在M...
Java项目打包实战:将
JAR包
转换为EXE可执行文件完整指南
Launch4j 提供跨平台GUI版本(基于Java Swing)和命令行工具两种
使用
方式。推荐初学者
使用
图形界面进行配置探索。精确的路径管理和版本标注是生产级部署的关键环节。以下介绍最佳实践。更高级的做法是开发自定义类加载器,在JAR被打包进EXE前对其核心类进行AES加密,并在运行
时
由BootLoader解密加载。
Java
51,410
社区成员
86,075
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章