[英]How to try Dagger 2 with pure java Project using Maven - intellij IDEA
[英]intellij idea : how to debug a java:fx maven project?
我有一个旧的 javafx 应用程序,我必须通过执行mvn javafx:run
来运行它,但现在我想用 intellij 的想法对其进行调试。
如果我调试用于运行它的配置,则调试器已连接,但它不会在任何断点处停止。
如果我尝试运行 mvn 命令,例如mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=6666" javafx:run
并与远程连接我得到这个错误(来自调试器):
java.util.ServiceConfigurationError:com.sun.jdi.connect.Connector:提供者
sun.jvm.hotspot.jdi.SACoreAttachingConnector 未找到 java.util.ServiceConfigurationError: com.sun.jdi.connector: Provider
sun.jvm.hotspot.jdi.SADebugServerAttachingConnector 未找到 java.util.ServiceConfigurationError: com.sun.jdi.connect Provider:
sun.jvm.hotspot.jdi.SAPIDAttachingConnector 未找到
sa-jdwp 服务器已连接
我不确定我需要做什么才能调试它。
pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <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>groupId</groupId>
<artifactId>ProjectId</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<!-- necessary for intellij to function -->
<maven.compiler.source>1.11</maven.compiler.source>
<maven.compiler.target>1.11</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>14-ea+7</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>14-ea+7</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>14-ea+7</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>14-ea+7</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.4.0-b180830.0359</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.4.0-b180830.0438</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.7.6-RC2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>project.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
我找到了一种使调试工作的方法,方法是在 pom.xml 中创建调试执行,然后使用 intellij idea 对其进行远程调试。
我现在可以运行: mvn clean javafx:run@debug
我的 pom.xml 的新版本:
<build>
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<executions>
<execution>
<id>run</id>
<configuration>
<mainClass>project.Main</mainClass>
</configuration>
</execution>
<execution>
<id>debug</id>
<configuration>
<mainClass>project.Main</mainClass>
<options>
<option>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:8000</option>
</options>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.