如何解决从JRuby脚本启动Java会引发TypeError:Java没有公共构造函数
|| 我有一个Java应用程序,试图从JRuby脚本启动。我已经通过许多解决方案进行了谷歌搜索/ t射击/迭代-我的“基本”脚本是:include Java
require \'c:/nm/bin/h4j.jar\'
module HOLTER
include_package \'com.nemon.h4j.H4JFrame\';
end
include_class Java::ComNemonH4j::H4JFrame
H4JFrame.new
这将引发以下错误:
TypeError: no public constructors for Java::ComNemonH4j::H4JFrame
(root) at h4j_initialTest.rb:7
而且我发现这也会引发相同的错误:
$nm = HOLTER::H4JFrame.new
我的应用程序的主要构造函数是:
public static void main(String argv[])
{
captureOutput();
new H4JFrame(argv);
}
那么,我该怎么做才能让脚本简单地启动我的应用程序?任何/所有建议和指针将不胜感激!
解决方法
H4JFrame是否具有0参数构造函数?在您的java main中,您将显示它以
String argv[]
作为参数被调用,因此我认为它不会。要使用当前代码启动应用程序,您需要将Java String数组传递给H4JFrame。
include Java
require \'c:/nm/bin/h4j.jar\'
module HOLTER
include_package \'com.nemon.h4j.H4JFrame\';
end
include_class Java::ComNemonH4j::H4JFrame
str_arr = [\"example input\",\"this is an array of strings\",\"it is a ruby object\"]
H4JFrame.new(str_arr.to_java :String)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。