Java 如果隐藏控制台,Web Start 应用程序会崩溃

Java Web Start app crashes if Console is hidden

我已经从 eclipse 导出并签署了一个可运行的 jar,并创建了一个 jnlp 文件。如果 java 控制台在 java 设置中设置为 "show console",应用程序可以正常启动,但如果 java 控制台设置为隐藏(默认设置),则应用程序永远不会启动。控制台在可见时不会在启动时显示任何错误。

有谁知道可能导致这种行为的原因吗?

下面是我的 jnlp 文件,如果有帮助的话。

<?xml version="1.0" encoding="UTF-8"?>
   <jnlp spec="1.0+" codebase="https://myserver.com" href="launcher.jnlp">
   <information>
      <title>App name</title>
      <vendor>Company name</vendor>
      <icon href="res/image.png"/>
      <icon kind="splash" href="res/image.png"/>
   </information>
   <resources>
      <!-- Application Resources -->
      <j2se version="1.8.0_131-b11" href=
       "https://java.sun.com/products/sautdl/j2se"/>
      <jar href="res/myjar.jar"
        main="true" />
   </resources>
   <security>
      <all-permissions/>
   </security>
   <application-desc
       name="App name"
       main-class="com.comp.app.main">
   </application-desc>
   </jnlp>

对于任何感兴趣的人,这里是解决问题的方法。

我认为问题出在处理登录框架并且在启动时只有启动画面。如果没有框架,该进程将会终止,但是当启用 java 控制台时,它将使该进程保持活动状态,直到在初始屏幕之后创建一个新框架。在初始屏幕期间将框架放置在位置 -100、-100 和大小 0,0 解决了问题。

不是最好的解决方案,但它解决了问题。