我有一个有 4 个依赖项的 Maven 项目。该项目首先创建一个 JFrame,对其进行初始化并显示它。
当尝试调试程序时,调试器终止于
JFrame test = new JFrame("test");
尝试创建 JFrame 时。
当我在 Eclipse 外部编译并运行 jar 时,不会发生这种情况。
如果我从 pom 中删除所有依赖项,JFrame 将被创建并正常显示。
什么可能导致 Eclipse 在创建 JFrame 时终止调试器?
我尝试过重新安装 Java、重新创建项目、在新工作区中重新创建项目,以及在测试项目中使用相同的 pom 设置,所有这些都会导致在 JFrame 创建时终止的相同行为。
编辑:这是问题代码和 pom.xml。
import javax.swing.JFrame;
import javax.swing.JLabel;
public class App {
public static void main(String[] args) {
try {
JFrame test = new JFrame("test");
test.add(new JLabel("test"));
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.pack();
test.setVisible(true);
} catch (Throwable t) {
t.printStackTrace();
}
}
}
这是 POM
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.so.test.example</groupId>
<artifactId>Example-Project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>pro.beam</groupId>
<artifactId>api</artifactId>
<version>3.0.3-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>pro.beam</groupId>
<artifactId>interactive</artifactId>
<version>1.5.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>com.miglayout</groupId>
<artifactId>miglayout-swing</artifactId>
<version>5.0</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>beam-releases</id>
<url>https://maven.beam.pro/content/repositories/releases/</url>
</repository>
<repository>
<id>beam-snapshots</id>
<url>https://maven.beam.pro/content/repositories/snapshots/</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
我已将范围缩小到删除 Beam 和 Spark 依赖项将允许创建 JFrame,但我尚未确定原因。我确保我使用的是可以找到的版本。
最佳答案
事实证明,最新的 NVIDIA 1070 显卡驱动程序的某些内容打破了这一点。我卸载了驱动程序 #378.49 并重新安装了 #376.33,现在它可以工作了。
关于java - 调试 Maven 项目终止 JFrame 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967362/