ubuntu 无法解析导入com.toshiba-Java

9gm1akwq  于 2023-06-29  发布在  Java
关注(0)|答案(1)|浏览(104)

我在Ubuntu版本22.04.2上使用VSCode,根据https://docs.griddb.net/gettingstarted/java/#schema-creation上的GridDB文档实现和运行一些测试,但由于以下错误,我无法运行代码:

“无法解析导入com.toshiba-Java”

我的Java文件是:

import com.toshiba.mwcloud.gs.*;

public class GridDbTests{
    public static void main(String[] args)
    {
        Properties props = new Properties();
        props.setProperty("notificationAddress", "239.0.0.1");
        props.setProperty("notificationPort", "31999");
        props.setProperty("clusterName", "defaultCluster");
        props.setProperty("user", "admin");
        props.setProperty("password", "admin");
        GridStore store = GridStoreFactory.getInstance().getGridStore(props);
    }
}

lauch.json文件是:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "GridDbTests.java",
            "request": "launch",
            "mainClass": "GridDbTests"
        }
    ]
}

我做错了什么?

hujrc8aj

hujrc8aj1#

com.toshiba不是一个包含JRE或JDK的包,而是一个第三方依赖项。
GridDB文档告诉您手动编译代码,使用

export CLASSPATH=$CLASSPATH:/usr/share/java/gridstore.jar
$ javac Sample1.java

但是,VSCode不会知道这一点。根据https://code.visualstudio.com/docs/java/java-project下的VSCode文档,您可以通过以下步骤添加gridstore.jar

管理非托管文件夹的依赖关系

如果您的项目是一个没有任何生成工具的非托管文件夹。您可以通过单击“引用库”(Referenced Libraries)节点或其下的项目上的+图标或-图标来管理依赖项,也可以直接将jar库拖动到“引用库”(Referenced Libraries)节点。

依赖管理

更好的解决方案是正确地学习如何使用依赖管理工具,例如Maven。
前面提到的VSCode文档已经包含了关于Maven的信息,GridDB文档也有一个关于如何在Maven中使用GridDB的页面:
https://griddb.net/en/blog/using-maven-to-develop-griddb-applications/
基本上,您需要通过

mvn install:install-file -Dfile=/usr/share/java/gridstore.jar -DgroupId=com.toshiba.mwcloud \
    -DartifactId=gs -Dversion=4.0 -Dpackaging=jar

然后将以下内容添加到pom.xml(在dependencies部分中):

<dependency>
        <groupId>com.toshiba.mwcloud</groupId>
        <artifactId>gs</artifactId>
        <version>4.0</version>
</dependency>

VSCode通常会自动拾取对pom.xml的更改,如果没有,请右键单击项目并点击Maven / Reload Project

相关问题