中关村村草 发表于 2011-05-31 13:24

warbler 配置问题说明

warbler 配置问题说明



warbler是一个打包工具,可以将rails应用打包为war,使用如下:

Bash代码$ gem install warbler # 安装
$ cd your_rails_app
$ warbler #使用
然后你就可以在你的rails项目下看到一个war文件了,非常简单



好的开源项目应该既方便又强大,warber也基本符合这个要求,它可以定制自己的打包参数,你可以在rails项目中生成缺省配置文件,然后按照你的特别要求修改配置文件:

Bash代码warble config # then you can edit config file whose path is config/warble.rbruby的配置文件本身就是ruby代码,这里面有注释,就不解释了,值的说明的是这几行

Ruby代码 # Loose Java classes and miscellaneous files to be included.
# config.java_classes = FileList["target/classes/**.*"]

# One or more pathmaps defining how the java classes should be copied into
# the archive. The example pathmap below accompanies the java_classes
# configuration above. See http://rake.rubyforge.org/classes/String.html#M000017
# for details of how to specify a pathmap.
# config.pathmaps.java_classes << "%{target/classes/,}p"
注释里写的很清楚,打包工具需要解决两个问题:

1.打包的文件来自哪里;
2.打包时,文件放到哪个目录下,文件名是什么;
这两个问题在config中是分开设置的,一个是 java_classes ,第二个是 pathmaps.java_classes ,所以你可以设置好前一个路径,然后用后一个的正则表达式改成你需要的war中的位置



比如在 java_side 中,我设定的 spring 配置文件在 java/conf 目录下,这些文件应该直接copy到 WEB-INF/classes 中,于是可以这么设定:



Ruby代码config.java_classes = FileList["java/conf/**/*"]
config.pathmaps.java_classes << "%{java/conf/,}p"
同理,其它的路径也有对应的 pathmaps 可以设置,仔细看看就知道


另外,借助ruby的动态特性,我们也可以用插件进行设置增强


这块的相关的代码是在下面的文件中:

Ruby代码$JRUBY_HOME/gems/warbler-1.3.0/lib/warbler/config.rb
$JRUBY_HOME/gems/warbler-1.3.0/lib/warbler/traits/war.rb
有兴趣的同学可以看看

2gua 发表于 2011-05-31 14:31

顶一下!
页: [1]
查看完整版本: warbler 配置问题说明