从Eclipse启动时创建新的JFrame时,Java正在关闭。 没有exception抛出

我正在开发一个我正在Eclipse中开发的Java项目。 直到今天一切都很好。 昨天在完成我的项目工作之前,我最后一次运行它来检查一切是否正常并且运行正常。 但今天当我启动项目并按下“运行”我的应用程序时,只是关闭(没有崩溃,没有消息,没有)。 我追溯了这个问题,事实certificate问题是“ 新的JFrame() ”,当它被称为关闭应用程序时。

我在同一个项目中创建了一个测试类,你可以在下面看到它:

import javax.swing.JFrame; public class asdasd { public static void main(String[] args) { System.out.println("A"); try{ JFrame frame = new JFrame(); }catch(Exception e){ e.printStackTrace(); } System.out.println("B"); } } 

当我运行此代码时,控制台只输出:

 A 

B从未显示过!

另一方面,如果我创建一个全新的项目并且我复制粘贴该类,则输出应该是:

 A B 

我尝试更改默认JRE,清除bin文件夹,依此类推。

到目前为止唯一的工作修复是从我的类路径中删除随机JAR。 我的项目类路径中总共有16个JAR。 但是,如果我随机删除一些theese JAR,那么它开始工作,当然完全打破了我的项目。 我删除了什么JAR并不重要,删除了一些JAR后它开始工作。

到目前为止我尝试过的事情: – 删除项目中的所有类,只留下测试类=相同结果 – 创建一个新项目,复制粘贴我的所有类和依赖项=相同结果

一个奇怪的事情是,如果我将我的代码编译成JAR文件并从CMD运行它,Swing正常启动,我的应用程序按预期工作。 AB正确显示。 所以它必须与Eclipse有关。 但我今天还没有更新任何东西。 (我昨天晚上才更新了我的Nvidia GPU驱动程序,但这与Eclipse完全无关)。

有谁知道可能导致这个问题的原因是什么? 谢谢。

我有完全相同的情况。

在JFrame创建期间,我的代码在swing类中崩溃,没有抛出exception。 测试代码如下所示

 import javax.swing.JFrame; public class MainPanel { /** A Start point of the BC UI Clien Application. */ public static void main(String[] args) { try { JFrame objLoginPane = new JFrame(); objLoginPane.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); objLoginPane.pack(); objLoginPane.show(); } catch (Throwable ex) { ex.printStackTrace(); } } } 

在我的工作区中有2个带有swing GUI的项目。 更简单的一个工作,因为它应该更复杂的一个崩溃JFrame创建。

在新的工作空间中情况是一样的。 上面的解决方案没有帮助。

在进一步的调查过程中,我发现当一定数量的库(在我的情况下为19-22)包含在构建路径中时,项目开始崩溃。 它不依赖于构建路径或类型中的jar大小。 没有明确的逻辑,它停止工作的jar子。

长话短说,我发现Windows日记中的崩溃原因是NVIDIA 3D Vision Driver! 3DVision驱动程序卸载后所有工作正常(不需要卸载显示驱动程序只有3D Vision导致问题)。 我安装了最新的(v378.49)GeForce驱动程序。 我有与此错误相关的Windows日记条目的粗略翻译:

 Failed module name: nvSCPAPI64.dll, version: 7.17.13.7849, time stamp: 0x588218a5 Error code: 0xc0000409 Error offset: 0x0000000000034b2f Failed process identifier: 0x143c Failed process start time: 0x01d280cd39a31077 Failed process path: C:\Program Files\Java\jdk1.8.0_121\bin\javaw.exe Failed module path: C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvSCPAPI64.dll Report identifier: 6dd65788-acb1-48ce-a786-4e38af325fec 

所以我终于为我找到了一个有效的解决方案。 我创建了一个全新的Eclipse Workspace并复制粘贴了我的所有类。 这似乎解决了未知问题。 我仍然不知道是什么导致了这个问题,但我希望它不会再发生。

这不是一个真正的解决方案,而是更多的解决方法。 我想最好的方法是使用Version Control作为@efekctive建议。

感谢大家提供了有关如何解决此问题的建议。