从 JRuby 中的 jar 文件导入 类 与顶级核心模块冲突
Imported classes from a jar file in JRuby conflict with top level core module
我有一个 JRuby 项目需要第三方 .jar 文件,其中包含我需要使用的几个 Java 类。我 运行 遇到一个问题,其中一个 类 被命名为 Process,它与顶层 Ruby Process 模块冲突。
我已经构建了一个 github 存储库,其中包含说明问题的最小概念证明:https://github.com/douglasmiller/process_test
有没有其他人遇到过类似的问题?我该怎么做才能解决这个问题?
类似于您在 Ruby 中解决此问题的方法 - 在模块(使用它的地方)下导入它或根本不导入它。
不用java_import org.process_test.Process
直接用org.process_test.Process::PROCESS_CONSTANT
如果你真的想只导入不会冲突的地方:
module MyApp
java_import org.process_test.Process
# MyApp::Process != ::Process
class ProcessStuff
def initialize; puts Process::PROCESS_CONSTANT end
end
end
我有一个 JRuby 项目需要第三方 .jar 文件,其中包含我需要使用的几个 Java 类。我 运行 遇到一个问题,其中一个 类 被命名为 Process,它与顶层 Ruby Process 模块冲突。
我已经构建了一个 github 存储库,其中包含说明问题的最小概念证明:https://github.com/douglasmiller/process_test
有没有其他人遇到过类似的问题?我该怎么做才能解决这个问题?
类似于您在 Ruby 中解决此问题的方法 - 在模块(使用它的地方)下导入它或根本不导入它。
不用
java_import org.process_test.Process
直接用org.process_test.Process::PROCESS_CONSTANT
如果你真的想只导入不会冲突的地方:
module MyApp
java_import org.process_test.Process
# MyApp::Process != ::Process
class ProcessStuff
def initialize; puts Process::PROCESS_CONSTANT end
end
end