java - IntelliJ - JavaFX 和 JavaDoc:两个版本的模块
问题描述
我在为 JavaFX 项目设置 IntelliJ 时遇到了一些困难。我使用文件 > 项目结构 > 库 > 添加新库 > 从 Maven搜索org.openjfx:javafx-fxml:11.0.2
. 所以它被发现了,我特意检查了下载 JavaDocs,因为这很有用。
但是,当我尝试启动项目时,出现以下错误:
java.lang.module.FindException:在 lib 中找到模块 javafx.graphics 的两个版本(javafx-graphics-11.0.2-linux.jar 和 javafx-graphics-11.0.2-javadoc.jar)
显然,编译器将 javadoc 误认为另一个版本......
然后,当我删除为 JavaFX 下载的 *javadoc.jar 文件时,程序启动得很好。您可以想象,我想保留在我的 IDE 中直接读取 JavaDoc 的可能性。
任何想法如何解决这个问题?
编辑: 这是 Github 上的一个示例 repo: leun4m/javafx-demo@2a7a03a
运行配置:
--module-path lib --add-modules javafx.controls,javafx.fxml
解决方案
我设法通过以下操作在您的项目中编译、运行和获取文档:
将 pom.xml 添加到根目录:
4.0.0
<groupId>org.example</groupId>
<artifactId>java-fx-pom</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.13</java.version>
<maven.compiler.source>13</maven.compiler.source>
<maven.compiler.target>13</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>11.0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
- 使用 mvn clean install 构建
- 与运行
javafx:run -f pom.xml
- 要获得更好的文档,您需要“进入”任何 javafx 方法,您可以通过放置光标并按 Ctrl+B,然后单击“下载源”
- 最后,我为您的测试存储库创建了一个 PR。我故意推送了一些想法文件,这应该会减少你得到的错误数量。
推荐阅读
- set - 离散数学
- c# - 当我在 xamarin 上除以 0 时出现异常
- azure - 尝试从 azure dev ops 推送到 azure 容器注册表时请求访问被拒绝
- python-3.x - 如何即时处理大量协程返回的值(异步问题)?
- sql - 如何将三个不同表的输出存储到一个表中?
- sql - 获取空记录集的 SQL 语句?
- proxy - Plink 代理错误:连接被拒绝,而 PuTTY 使用同一会话
- python - 如果不满足条件,如何防止我的脚本崩溃?
- jquery - scrollspy,工具提示在 express 应用程序中不起作用
- dbeaver - 在 DBeaver 中,如何将多个查询的结果导出到不同的文件中?