rubyzip的使用
2015-10-19 14:07
393 查看
呼,今天开始3天都是新人培训,总算可以抽点时间发一帖。
现在在做的东西直接用Maven就能打包成war文件。在自己机上部署测试时,本来就这样拷贝到JBoss的deploy目录下也行,不过有些HTML啊JavaScript啥的为了方便修改,所以还是想把war包解开再扔到deploy目录下。我已经数不清上周我重复做过多少次在项目目录跟JBoss的deploy目录之间拷贝文件,把war后缀改成zip,解压,删zip文件,把目录名加上.war,……
这种事情还是让脚本来做的好。当然这事情直接写bat文件或者shell脚本也能行,不过我想试试rubyzip这个gem,就顺便练手了。
先安装rubyzip:
Command prompt代码
gem install rubyzip
然后是Ruby脚本本身:
Ruby代码
#!/usr/bin/env ruby
require 'rubygems'
require 'fileutils'
require 'zip/zip'
require 'zip/zipfilesystem'
include FileUtils
def unzip zip_file, dest_dir
Zip::ZipFile.open zip_file do |zf|
zf.each do |e|
path = File.join dest_dir, e.name
mkdir_p File.dirname(path)
zf.extract(e, path) { true }
end
end
end
def deploy war_file, dest_dir
dest = File.join dest_dir, File.basename(war_file)
rm_rf dest if File.directory? dest
unzip war_file, dest
end
# SRC_DIR = File.expand_path '.'
DEST_DIR = 'D:/server/jboss-4.2.2.GA/server/default/deploy'
[
'alpha/alpha.war',
'beta/beta.war'
].each {|war_file| deploy war_file, DEST_DIR }
rubyzip的API据说是模仿java.util.zip而来的。呃,真不算方便。把整个文件解压到指定路径这种这么常用的功能居然没有便捷方法直接做,太不爽了。还有啥别的Ruby能用的zip库不,拜托大家推荐几个~
我或许该用Python来写这个的,标准库里就有zip T T
现在在做的东西直接用Maven就能打包成war文件。在自己机上部署测试时,本来就这样拷贝到JBoss的deploy目录下也行,不过有些HTML啊JavaScript啥的为了方便修改,所以还是想把war包解开再扔到deploy目录下。我已经数不清上周我重复做过多少次在项目目录跟JBoss的deploy目录之间拷贝文件,把war后缀改成zip,解压,删zip文件,把目录名加上.war,……
这种事情还是让脚本来做的好。当然这事情直接写bat文件或者shell脚本也能行,不过我想试试rubyzip这个gem,就顺便练手了。
先安装rubyzip:
Command prompt代码
gem install rubyzip
然后是Ruby脚本本身:
Ruby代码
#!/usr/bin/env ruby
require 'rubygems'
require 'fileutils'
require 'zip/zip'
require 'zip/zipfilesystem'
include FileUtils
def unzip zip_file, dest_dir
Zip::ZipFile.open zip_file do |zf|
zf.each do |e|
path = File.join dest_dir, e.name
mkdir_p File.dirname(path)
zf.extract(e, path) { true }
end
end
end
def deploy war_file, dest_dir
dest = File.join dest_dir, File.basename(war_file)
rm_rf dest if File.directory? dest
unzip war_file, dest
end
# SRC_DIR = File.expand_path '.'
DEST_DIR = 'D:/server/jboss-4.2.2.GA/server/default/deploy'
[
'alpha/alpha.war',
'beta/beta.war'
].each {|war_file| deploy war_file, DEST_DIR }
rubyzip的API据说是模仿java.util.zip而来的。呃,真不算方便。把整个文件解压到指定路径这种这么常用的功能居然没有便捷方法直接做,太不爽了。还有啥别的Ruby能用的zip库不,拜托大家推荐几个~
我或许该用Python来写这个的,标准库里就有zip T T
相关文章推荐
- 红宝石(Ruby)史话
- Ruby简明教程之循环语句介绍
- ruby 一些简单的例子
- Ruby 之 class 中的 private、 protected、public
- Ruby中操作文件的方法介绍
- Ruby中的集合编写指南
- CentOS 6.3下编译安装Ruby 2.0笔记
- Ruby编程中关于中断和返回的用法教程
- Ruby中的异常处理代码编写示例
- Ruby中的变量学习总结
- 几个加速Ruby on Rails的编程技巧
- Ruby配置rspec和RestClient来检测服务器
- 分析Cache 在 Ruby China 里面的应用情况
- Ruby中数组的一些相关使用方法
- 编写Ruby代码注释时需要注意的一些问题
- Ruby类继承、抽象类、类拓展混入、代理类实例
- Ruby简明教程之方法(Method)介绍
- 比较详细的ruby symbol 学习资料
- Ruby定义私有方法(private)的两种办法