Ada*_*ner 1 ruby java dependencies jruby dependency-management
我刚开始使用JRuby并创建了一个小测试文件:
require 'java'
java_import java.io.File
f = File.new ARGV[0]
Run Code Online (Sandbox Code Playgroud)
当我像这样运行程序时:jruby test.rb file.txt
我收到以下警告:
/Library/Frameworks/JRuby.framework/Versions/1.6.5/lib/ruby/site_ruby/shared/builtin/javasupport/core_ext/object.rb:99 warning: already initialized constant File
该类f实际上是java File类,但我仍然得到警告,任何帮助??
通过查看object.rb我发现这与以下JRuby票有关:http://jira.codehaus.org/browse/JRUBY-3453
对我来说似乎是一个合理的警告,因为Ruby已经有了一个File类(即常量"File"已经被初始化以引用Ruby File类).
我自己,我可能会跳过导入,只是做
require 'java'
f = java.io.File.new ARGV[0]
Run Code Online (Sandbox Code Playgroud)
这应该工作,并将消除名称冲突.
你也可以
require 'java'
java_file = java.io.File
f = java_file.new ARGV[0]
Run Code Online (Sandbox Code Playgroud)
要么
module JavaIO
include_package "java.io"
end
f = JavaIO::File.new ARGV[0]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
523 次 |
| 最近记录: |