gpt4 book ai didi

java - 如何使用java 10在maven中添加javafx依赖项

转载 作者:行者123 更新时间:2023-12-02 11:02:16 26 4
gpt4 key购买 nike

我切换到了 ubuntu 18.04。其中默认 jvm 为 java 10

现在我使用 javafx 的应用程序无法再编译。

 cannot find symbol
[ERROR] symbol: class ObservableMap

我尝试向 maven-compiler-plugin 添加参数来加载 javafx.graphics 模块。

        <plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgs>
<arg>--add-modules</arg>
<arg>javafx.graphics</arg>
</compilerArgs>
</configuration>
</plugin>

结果:

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] module not found: javafx.graphics

当然,java --list-modules | grep fx 不返回任何内容。

我花了 10 多个小时试图解决这个问题。

TL:DR 我应该如何使用 Java 10 编译我的 JavaFX 模块?

最小项目:

/pom.xml

<project>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<name>java10fx</name>

<artifactId>java10fx</artifactId>
<version>0.0.1</version>
<groupId>my.test</groupId>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<release>10</release>
</configuration>
</plugin>
</plugins>
</build>
</project>

/src/main/java/MyApp.java

import javafx.application.Application;
import javafx.stage.Stage;

public class MyApp extends Application{

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) throws Exception {}

}

错误:

java10fx/src/main/java/MyApp.java:[1,26] package javafx.application does not exist

最佳答案

OpenJDK 从未包含 JavaFX,从 Java 11 开始,Oracle JDK 也不会包含 JavaFX,因此 JavaFX 将必须成为常规依赖项。 OpenJFX,JavaFX 背后的项目,最近 released an early access build of a standalone JavaFX SDK它适用于 Java 10 和 11,但尚未在 Maven Central 上提供(计划在未来推出)。

现在,您必须 download the SDK手动并找到将其添加到 Maven 构建的方法,例如将其部署到 Nexus 或将其包含在存储库的文件夹中。一旦它在 Maven Central 上可用,您就可以像使用任何其他依赖项一样使用它。

关于java - 如何使用java 10在maven中添加javafx依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50510033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com