【问题标题】:Netbeans RCP application not working outside the IDE when built as OS independent zipNetbeans RCP 应用程序在构建为独立于操作系统的 zip 时无法在 IDE 之外工作
【发布时间】:2017-09-21 19:29:57
【问题描述】:

我正在 Netbeans RCP 上构建一个统计分析应用程序,以便更快、更省力地解决测试https://github.com/PaulMaxAvalosAguilar/Statistikos-Klubas。 事情很简单:

1.-有一个名为 TrabajosViewer 的模块,它使用节点 API 来显示工作区,您可以在其中用一些有意义的名称组织样本,首先创建一个工作区,然后向其中添加一些数据。

2.- 您打开编辑器顶部组件,它会为您输入的所有样本计算一些描述性统计资料

3.- 测试所需的所有内容都已完成!样本存储在嵌入式 H2 数据库(datos 模块)中,每次单击 TrabajosNode 时都会计算结果。

但是,当我测试应用程序时,我必须添加以下示例: https://1drv.ms/t/s!AkZmosJJMvdIu3c_IiVkD6JAVVgk(3344 个元素);由于该应用程序具有多线程功能,一切都很好,除了在构建一个独立于操作系统的 zip 版本之后,该应用程序从 Swing Top Component 冻结,这是非常罕见的,因为 Netbeans IDE 内部没有发生这种情况。我认为它与构建脚本有关,因为我构建了一个 Gradle 版本,一切正常https://github.com/PaulMaxAvalosAguilar/Statistikos-Klubas2

【问题讨论】:

    标签: java swing javafx netbeans netbeans-platform


    【解决方案1】:

    如果您有一个应用程序(实际上是任何 Java 应用程序,而不仅仅是 NetBeans RCP)并且它冻结了,那么您想要做的是获取 线程转储。线程转储几乎总是会提供有关为什么会冻结的线索。

    Java 有 5 或 6 种不同的方法来获取正在运行的应用程序的线程转储(只需 google 即可)。在这些方法中,首选的一种是所谓的Ctrl-Break method,因为它是提供最多信息的一种。该方法的缺点是您需要从控制台窗口启动应用程序。但是,如果您可以始终如一地复制冻结,那么我认为这对您来说不是问题。如果您使用的是 Windows,请执行以下操作:

    1. 开始cmd.exe
    2. 从命令窗口,启动您的应用程序,例如bin\sillyapp64.exe.
    3. 等待您的应用程序发生冻结
    4. 现在在命令窗口中按 Ctrl-Break 。这将为您提供打印到命令窗口中的线程转储。
    5. 上传线程转储作为您问题的一部分。 (如果它太大,也可以在某个地方托管)

    Linux/MacOSX 的说明类似,但在第 4 步中,您将改为使用 kill 命令向进程发送QUIT 信号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 2013-06-14
      • 1970-01-01
      相关资源
      最近更新 更多