gson无法解析为www.example.com中的模块错误module-info.java

daupos2t  于 2023-04-04  发布在  Java
关注(0)|答案(1)|浏览(121)

我在VScode中创建了一个maven项目,并将GSON添加到我的pom.xml中:

<dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.10.1</version>
        </dependency>

我第一次使用Java 17和模块。
我已经添加了“需要gson;“到我的module-info.java,但它报告“gson无法解析为模块”Maven依赖项显示gson:2.10.1库,我看到它已下载到.m2/respository文件夹中。
我的module-info.java:

module mypackage {
    // needed for JavaFX
    requires javafx.controls;
    requires javafx.fxml;
    //requires javafx.swing;
    requires transitive javafx.graphics;

    // needed for HTTP
    requires unirest.java;

    // needed for JSON
    requires gson;
    requires java.sql;

    // needed for JavaFX
    opens mypackage to javafx.fxml;

    exports mypackage;
}

显然,在我导入Gson、GsonBuilder等的类中,它失败了,并显示“类型com.google.gson.Gson不可访问”。
有办法吗?温柔点我不是程序员。

sqxo8psd

sqxo8psd1#

Gson的模块名是com.google.gson(另请参阅README或Javadoc)。因此,您应该用途:

requires com.google.gson;

但最有可能的是,你还必须将你的包打开给Gson,因为它使用反射来访问你的类的字段:

opens mypackage to com.google.gson;

(Also对于最近的Gson版本,您不必再添加requires java.sql。)

相关问题