为什么我会得到;由于缺少',客户端可能无法访问模块javafx.graphics中的GraphicsContext类型;需要可传递的'&引用;警告

为什么我会得到;由于缺少',客户端可能无法访问模块javafx.graphics中的GraphicsContext类型;需要可传递的'&引用;警告,java,eclipse,maven,javafx,Java,Eclipse,Maven,Javafx,每当我在JavaFX应用程序中创建GraphicsContext对象时,它都会创建一个错误,如下所示: 由于缺少“requires transitive”,客户端可能无法访问模块javafx.graphics中的GraphicsContext类型 下面是一个导致警告/错误的代码示例: import javafx.scene.canvas.GraphicsContext; public Factory(GraphicsContext gc) { super();

每当我在JavaFX应用程序中创建GraphicsContext对象时,它都会创建一个错误,如下所示:

由于缺少“requires transitive”,客户端可能无法访问模块javafx.graphics中的GraphicsContext类型

下面是一个导致警告/错误的代码示例:

import javafx.scene.canvas.GraphicsContext;

    public Factory(GraphicsContext gc) {
        super();
        this.gc = gc;
    }
GraphicsContext以警告色加下划线,并有eclipse建议的3个快速修复方法。其中2个包括添加@SuppressWarnings,它根本不能解决问题,另一个是“配置问题服务器”,我认为它只是告诉eclipse不要担心这个问题

当在eclipse中运行时,此代码非常有效,但当我将其导出为可运行的JAR文件时,该文件立即关闭。我希望客户端可以访问这些类,因为GraphicsContexts对我的应用程序来说非常有用

当我使用JavaFX类stage时,我也会遇到同样的错误

由于缺少“requires transitive”,客户端可能无法访问模块javafx.graphics中的类型阶段

我正在使用eclipse和jdk-16


在我的程序中如何/在何处包括“需要传递”?或者此警告是否隐藏了不同的问题?

如果您被设置为模块化项目,您应该在/src文件夹中直接拥有一个
模块信息.java
文件

下面是module-info.java文件的内容示例,来自:

如您所见,javafx.graphics的行中添加了“transitive”一词


如果您没有module-info.java文件、信息,并且将其作为“非模块化”项目运行,我认为必须在VM参数中添加“可传递”参数,可以通过Eclipse的运行配置访问这些参数。在“入门”文档中,查看Eclipse部分以了解更多详细信息。

我认为这是关于“module info.java”中的一个条目,关于JAR文件未正确启动,请尝试从控制台启动它以查看错误。