【问题标题】:Why does JRuby Swing app quits immediately if run as jar如果作为 jar 运行,为什么 JRuby Swing 应用程序会立即退出
【发布时间】:2019-04-12 15:40:44
【问题描述】:

我正在尝试使用 GUI 构建一个简单的 JRuby 应用程序。我使用this page 中的代码作为起点,标记为“简单示例”的部分。

如果我使用代码 sn-p 并将其运行为

$> jruby test.rb 

那就没事了,我看到窗户了。

如果我尝试制作一个“jar”文件并运行它:

$> warble jar
$> java -jar test.jar

然后应用程序立即存在而不会留下错误代码。

我尝试在 Windows10 和 FreeBSD11.2 中运行“jar”文件,同样的行为,GUI 立即退出。

你知道我该如何解决这个问题吗? 抱歉这个简单的问题,这是我使用 JRuby 的第一步。

【问题讨论】:

  • 主线程在Example.new 之后结束。使用新线程和 SwingUtilities 调用它。当您作为 sn-p 运行时,repl 充当主线程。

标签: java swing jruby warbler


【解决方案1】:

根据 Elliott 的建议,我对原始代码的最后一行进行了以下修改,“jar”可以正常工作。这只是一个 hack,但足够小,可以让像我这样的初学者走上正轨;)

t1 = Thread.new {
   Example.new
}

while true do
  sleep 1
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 2019-10-14
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多