作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法弄清楚如何包含/导入/要求 mydependency.jar
哪个 MyJavaClass
(在 MyJavaClass.class
文件中) 取决于。 MyJavaClass
包含许多从 mydependency.jar
导入类的 import
语句。一切都在同一个目录中。
当我在命令行上运行 java -cp '.:mydependency.jar' MyJavaClass
时,我没有收到任何错误,并且通过在 main
中进行一些调用,我可以得到它按我想要的方式运行,但是当我在命令行上使用 JRuby 运行 ruby my_ruby_file.rb
时,我得到 NoClassDefFoundError
用于导入的第一个类(从 mydependency.jar
) 在 MyJavaClass.class
文件中。错误的堆栈跟踪指向 my_ruby_file.rb
中的 java_import
行,因此它似乎没有正确找到从 mydependency.jar
导入的类> 包含在我的 MyJavaClass.class
文件中,即使它在正常的 Java 环境中运行良好。
# contents of my_ruby_file.rb
require 'java'
require './mydependency.jar'
java_import 'MyJavaClass'
MyJavaClass.new.myJavaInstanceMethod('argument')
最佳答案
我的 $CLASSPATH
环境变量没有设置,它需要设置以便 JRuby 能够找到我的 jar
。在命令行上运行 export CLASSPATH=".:mydependency.jar"
并删除行 require './mydependency.jar'
后,它起作用了。
关于ruby - 如何在 JRuby 中包含类依赖 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53973727/
我是一名优秀的程序员,十分优秀!