问题标签 [java-12]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1027 浏览

java - 安装JDK后,无法运行.jar

在课程期间,它在我的计算机上安装了 JDK,以便能够运行 eXist 数据库。在此之后,执行命令后,java -jar fileName.jar我收到以下错误。

图形设备初始化失败:d3d,sw 初始化 QuantumRenderer 时出错:找不到合适的管道 java.lang.RuntimeException:java.lang.RuntimeException:初始化 QuantumRenderer 时出错:在 com.sun.javafx.tk.quantum.QuantumRenderer 上找不到合适的管道。 getInstance(QuantumRenderer.java:280) 在 com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222) 在 com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260) 在 com .sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267) 在 com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158) 在 com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl .java:658) 在 com.sun.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) 在 com.sun。javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) at java.base/java.lang.Thread.run(Thread.java:835) 原因:java.lang.RuntimeException:初始化 QuantumRenderer 时出错:否在 com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124) 的 com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94) 找到合适的管道。 .. 线程“main”中还有 1 个异常 java.lang.RuntimeException: No toolkit found at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272) at com.sun.javafx.application.PlatformImpl.startup (PlatformImpl.java:267) 在 com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158) 在 com.sun.javafx.application.LauncherImpl。startToolkit(LauncherImpl.java:658) 在 com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678) 在 com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195) 在java.base/java.lang.Thread.run(Thread.java:835)

视窗 10

openjdk 版本“12.0.2” 2019-07-16 OpenJDK 运行时环境 采用

OpenJDK (build 12.0.2+10) OpenJDK 64-Bit Server VM Adopt

OpenJDK(build 12.0.2+10,混合模式,共享)

0 投票
1 回答
1148 浏览

javafx - 使用 AdoptOpenJDK 和 OpenJFX 时出现以下错误。“初始化 QuantumRenderer 时出错:找不到合适的管道”

我正在为我的项目使用 IntelliJ、Gradle、AdoptOpenJDK 12 和 OpenJFX。我正在尝试创建一个简单的 HelloWorld 程序来开始使用 OpenJFX。我的项目在 OracleJDK 上运行良好,但是当我切换到 AdoptOpenJDK 12 并运行项目时,我在控制台中收到以下错误:

我曾尝试切换到 IBM JDK,但也没有运气。

0 投票
1 回答
4374 浏览

gradle - 如何解决 Java 12 上的 JAXB 类路径问题

将使用 JAXB 的应用程序导入 JDK 11/12,但在尝试修复这些 JAXB 类路径问题时完全迷失了。我已经用谷歌搜索并基本上阅读了与此相关的所有内容,因此我知道 Java11 中所做的更改,即从 JDK 中删除 JAXB ...但是在这种情况下,我会假设一个简单的修复,包括在类路径上添加 api 和 impl JAR。但这不起作用,尽管我在类路径上有那些 JAR,尽管使用了 2.3.2 JAXB,但我仍然得到已知的异常:

javax.xml.bind.JAXBException - 带有链接异常:[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory]

即使我看到该类位于不同的包中,并且我指示通过系统变量使用正确的包,它也不起作用:

gradle -Djavax.xml.bind.context.factory=com.sun.xml.bind.v2.ContextFactory 构建

javax.xml.bind.JAXBException - 带有链接异常:[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]

有谁知道如何解决这个问题?我不想玩清单文件等。应该可以将正确的 JAR 放在类路径上,就是这样,或者不是?

此处摘要但无法正常工作: http: //www.descher.at/descher-vu/2019/01/java-11-jaxb-and-osgi/

更新,Gradle 中使用的依赖项: - jaxb-xjc 具有 jaxb-runtime (impl.) 作为传递依赖项。我看到它是由 Gradle 选择的,但仍然是同样的错误。

[org.gradle.internal.operations.DefaultBuildOperationExecutor] 构建操作“解决 jaxb-runtime.jar (org.glassfish.jaxb:jaxb-runtime:2.3.2)”完成

[org.gradle.internal.component.model.ComponentAttributeMatcher] 从候选 [org.glassfish.jaxb:jaxb-runtime:2.3.2 配置运行时] 中选择匹配 org.glassfish.jaxb:jaxb-runtime:2.3.2 配置运行时{org.gradle.dependency.bundling=external, org.gradle.jvm.version=12, org.gradle.usage=java-runtime}

这是“gradle dependencies”的输出,所有的 JAXB jar 都在那里,仍然抛出类路径错误。Glassfish 的 JAR 文件 jaxb-runtime 肯定有这个 ContextFactory 类。

0 投票
1 回答
7850 浏览

java - 模块未在 javafx 12 中导出异常

我将 Intellij 与 javafx 12 一起用作单独的库。我设法使它工作。我做了一个游戏,图形效果很好。现在我想创建一个带有一些按钮的菜单。当我尝试将按钮添加到场景的根目录时,它会引发异常,但有以下异常:

我用谷歌搜索并找到了一些关于堆栈溢出的解决方案,这对我不起作用。我的命令行参数如下(基于这些解决方案):

谢谢!

编辑 1:最小的可重现示例

  1. 下载最新的 Intellij
  2. 创建一个新的 javafx 模板项目
  3. 添加 javafx 库
  4. 将以下行添加到运行配置中的命令行参数

    --module-path "C:\Program Files\Java\javafx-sdk-11.0.2\lib" \ --add-modules javafx.fxml,javafx.controls

注意:请检查库的路径是否正确。

  1. 将启动方法更改为以下内容:

    @Override public void start(Stage primaryStage) throws Exception{ Button button = new Button(); primaryStage.setTitle("Hello World"); primaryStage.setScene(new Scene(new Group(), 300, 275)); 主舞台.show(); }

重要提示:请确保按钮来自 javafx,而不是 awt 库!如果您错误地从 awt 导入按钮,这将起作用。

按钮永远不会添加到根目录(也不会添加到场景),如果您评论创建按钮的行,一切正常!

编辑2:

看起来我正在运行我创建的配置,因为 intellij 创建的命令行(当我单击 ...)是以下内容:

0 投票
1 回答
44 浏览

java - 有没有一种替代方法来检查 javafx 应用程序中的许多空白字段?

我是 Java 新手(和一般编程),并且正在通过将基本电子表格转换为 javafx 应用程序来学习。为此,我正在使用:Java & JavaFX 12 FXML & scenebuilder for GUI

大约有 10 个输入字段,它们不能为空白(应用程序崩溃,因为 getText 似乎在空白字段上失败)。

我编写了堆叠的 if 语句来检查空白字段,如果是,则打印错误消息,并返回以停止进程而不会使应用程序崩溃。

Switch 语句似乎并不比 if 语句好。

有没有办法用更少的代码行来做到这一点?

0 投票
0 回答
68 浏览

java - 启用 Java Socks4 支持

我发现几乎是我想要的,但我不知道如何使用反射从未使用过它。只是问我将如何使这项工作。

如果有人可以帮助指导我找到正确的解决方案是最好的。谢谢你的帮助。

0 投票
1 回答
6278 浏览

java - 既然 Java 13 已经发布,我该如何在 Mac OSX 上安装 Java 12?

我找不到要安装的 Java 12,只能安装 Java 13。但是 Gradle 还不支持 Java 13,所以我现在需要使用 12 作为替代。当我使用 Homebrew 查看时,brew search java我发现各种 java:Java 11、Java 6(!)和 Java,它们曾经是 Java 12,但现在是 Java 13。

知道如何获得 Java 12 吗?

0 投票
1 回答
84 浏览

java - 为什么我不能通过调用另一个类的方法来使用 JavaFX 文本字段生成地图?

*我是一个java/编程新手。

我编写了以下代码示例来尝试找出我的问题,然后给出我的问题的清晰示例。我想让我的程序根据它们在应用程序中的功能分为不同的类: Main MainController - 驱动 JavaFX GUI。Initialiser - 输入数据的语义验证。模型 - 对数据执行计算并将结果发送回 MainController。

我被卡住的地方是初始化程序,特别是linkedhashmap和第一次验证检查,抛出了一个空指针异常。如果所有内容都在一个班级中,则不会发生这种情况(我从一个班级中的所有内容开始,现在正在学习如何在单独的班级中进行结构化等)。如果我不使用任何 JavaFX 功能,它也不会发生。

例如,这有效:

但这不会:

当我在 Eclipse 中进行覆盖运行时,我可以判断它可能是由线路引起的, String errorField = testMap.entrySet().stream().filter(entry -> entry.getKey().isBlank()).map(Map.Entry::getValue).findFirst().orElse(null); 但我不完全确定。

我刚刚在场景构建器中注意到字段“一”、“二”和“三”不会作为文本字段的有效 ID 出现,因为它们不在 MainController 类中。这一定与问题有关,但我不明白如何解决它。

FXML 文件,按要求:请记住,它是一组示例代码,并不意味着是一个真正的程序,所以布局是荒谬的。

错误信息:

0 投票
0 回答
527 浏览

java - 未找到 ClassLoader 中的字段 usr_paths

我正在关注一个教程,该教程有时会使用此代码。

ClassLoader.class.getDeclaredField("usr_paths").

为什么会抛出异常

java.lang.NoSuchFieldException: usr_paths

Classloader类的反编译定义说明是有的。

private static String usr_paths[];

我正在使用:java 12.0.1 2019-04-16 Java(TM) SE Runtime Environment (build 12.0.1+12) Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode,分享)

0 投票
1 回答
307 浏览

java - 我无法安装 JDK 12 (Java SE12) 没有可下载的源

我正在尝试下载 Java SE 12 或 JDK 12,但不再有下载链接: https ://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html

它说:

“Java SE 12 下载

Java SE 12 已终止支持。Java SE 12 的用户应该切换到 Java SE 13。

请访问我们的 Java SE 下载页面以获取 Java SE 的当前版本。

您将在 20 秒后重定向到 Java SE 下载页面。请将您的书签更新到 Java SE 下载页面。"

并且寻找下载您只能下载 Java SE11 或 Java SE13(12 不在列表中)

有谁知道为什么会出现这种情况?我正在克隆 Java 12 中的项目,我应该迁移到 Java 13 吗?