jfr*_*jfr 5 eclipse javafx maven
问题:我无法调试基于 JavaFX 11 的 Maven 项目,该项目是使用 Eclipse IDE 2019-03 (4.11.0) 编写和启动的,使用此处建议的方法并在相关问题中使用。
示例代码:
public class HowdyJFX extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
final String javaVersion = System.getProperty("java.version");
final String javafxVersion = System.getProperty("javafx.version");
final Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
final Scene scene = new Scene(new StackPane(l), 640, 480);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我设置Eclipse断点处的第一行start()方法(其中一个变量被分配),应用程序应该停止在该点,这并运行不发生; 相反,应用程序继续运行,就好像断点不存在一样。
在此处和上面提到的问题的底部附近建议了一种解决方案,但是这些都需要一种与OpenFX 建议的非常不同的启动方法。
在此先感谢您提供任何有用的提示!
您可以通过将以下内容添加到 pom.xml 文件来调试 javafx 应用程序
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<executions>
<execution>
<!-- Default configuration for running -->
<id>default-cli</id>
<configuration>
<mainClass>be.canguru.Main</mainClass>
</configuration>
</execution>
<execution>
<!-- Configuration for debugging -->
<id>debug</id>
<configuration>
<options>
<option>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:8001</option>
</options>
<mainClass>be.canguru.Main</mainClass>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
在此之后运行 Maven 运行带有目标的配置
干净的javafx:运行
之后你应该看到
监听地址为 8001 的传输 dt_socket
在控制台中
这应该启动您的应用程序并在调试断点处停止
| 归档时间: |
|
| 查看次数: |
1203 次 |
| 最近记录: |