当前位置: 首页 > 知识库问答 >
问题:

错误:包com.google.常见的基地不存在

司空海荣
2023-03-14

给定java中的以下代码,编译时u有很多错误:

主要的java:1:error:package-com.google.常见的基本不存在导入com.google.常见的基础前提条件^

主要的java:2:错误:包com.google.常见的collect不存在导入com.google.常见的收集清单^

Main.java: 3:错误:包org.ros.exception不存在导入org.ros.exception.RosRuntimeExctive;^

主要的java:4:error:package-org。罗斯。内部的加载程序不存在导入组织。罗斯。内部的加载器。命令加载程序^

Main.java: 5:错误:包org.ros.node不存在导入org.ros.node.DefaultNodeMainExecAdvisor;^

主要的java:6:error:package-org。罗斯。节点不存在导入组织。罗斯。节点。节点配置^

主要的java:7:error:package-org。罗斯。节点不存在导入组织。罗斯。节点。节点执行器;

我通过IntelliJ运行它。有人知道它为什么不起作用吗?

import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import org.ros.exception.RosRuntimeException;
import org.ros.internal.loader.CommandLineLoader;
import org.ros.node.DefaultNodeMainExecutor;
import org.ros.node.NodeConfiguration;
import org.ros.node.NodeMainExecutor;

// This class will run a publisher and subscriber, and relay data between them.

public class Main {

static private Talker pubNodeMain;

static private Listener subNodeMain;

public static void main(String[] argv) throws Exception {
    // Set up the executor for both of the nodes
    NodeMainExecutor nodeMainExecutor = DefaultNodeMainExecutor.newDefault();

    // Load the publisher
    String[] pubArgv = {"Talker"};
    CommandLineLoader pubLoader = new CommandLineLoader(Lists.newArrayList(pubArgv));
    String nodeClassName = pubLoader.getNodeClassName();
    System.out.println("Loading node class: " + pubLoader.getNodeClassName());
    NodeConfiguration pubNodeConfiguration = pubLoader.build();

    try {
        pubNodeMain = (Talker) pubLoader.loadClass(nodeClassName);
    } catch (ClassNotFoundException e) {
        throw new RosRuntimeException("Unable to locate node: " + nodeClassName, e);
    } catch (InstantiationException e) {
        throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e);
    } catch (IllegalAccessException e) {
        throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e);
    }

    Preconditions.checkState(pubNodeMain != null);
    nodeMainExecutor.execute(pubNodeMain, pubNodeConfiguration);

    // Load the subscriber
    String[] subArgv = {"Listener"};
    CommandLineLoader subLoader = new CommandLineLoader(Lists.newArrayList(subArgv));
    nodeClassName = subLoader.getNodeClassName();
    System.out.println("Loading node class: " + subLoader.getNodeClassName());
    NodeConfiguration subNodeConfiguration = subLoader.build();

    try {
        subNodeMain = (Listener) subLoader.loadClass(nodeClassName);
    } catch (ClassNotFoundException e) {
        throw new RosRuntimeException("Unable to locate node: " + nodeClassName, e);
    } catch (InstantiationException e) {
        throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e);
    } catch (IllegalAccessException e) {
        throw new RosRuntimeException("Unable to instantiate node: " + nodeClassName, e);
    }

    Preconditions.checkState(subNodeMain != null);
    nodeMainExecutor.execute(subNodeMain, subNodeConfiguration);
  }

}

共有3个答案

窦啸
2023-03-14

您是否使用了任何东西作为依赖项管理器?如果您使用了类似maven的东西,它将负责获取实际的罐并将它们放在类路径中。

有很多方法可以向类路径添加内容,但基本上,必须以某种方式获取包含要导入的类的jar,并在编译时引用它们。否则,您当地的环境无法知道您要导入什么。

这不同于你可以不带任何外国罐子进口的东西。包,比如java。util.* 随您使用的jdk一起提供,这就是为什么您可以导入它们并进行编译,而无需进行任何进一步的工作。

左丘宜年
2023-03-14

将此依赖项添加到Gradle文件

compile "com.google.guava:guava:16+"
熊俊人
2023-03-14
<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>11.0.2</version>
</dependency>

通过在pom中添加依赖项。xml我能够解决这个问题

 类似资料:
  • 错误 1 Error: Cannot find module 'gh-pages' at Function.Module._resolveFilename (module.js:489:15) at Function.Module._load (module.js:439:25) 上面的报错是:找不到 gh-pages 模块。 解决方法: npm i gh-pages

  • 问题内容: 我有一个目录结构,例如在包含Java文件的根目录下。我在与上述相同的根目录中的目录结构中还有另一个Java文件。我正在从中调用方法,但收到错误消息,该程序包不存在。 我已经在我的java文件中导入了包。能给我一些建议吗? 问题答案: 这有效: com / example / model / BearExtra.java com / example / web / Bear.java 现

  • 模板 安装完成后显示模板不存在 原因:数据库连接有错 解决办法: 删除app/Common/dataconfig.php 重新安装 或者 在配置文件里填写正确数据库连接信息

  • 常见错误码 在集成SDK的过程中可能会出现一些错误码的提示,错误码的具体含义请看下面的表格: 初始化(10000) 10001 siteid传空 10002 服务器本地地址获取失败 10003 网络获取服务器地址失败 10004 没有网络 10005 初始化成功 登录(20000) 20001 没有初始化就调用登录 20002 登录的uid为空 20003 uid非法 20004 退出登录失败 2

  • 常见错误码 在集成SDK的过程中可能会出现一些错误码的提示,错误码的具体含义请看下面的表格: 初始化(10000) 10001 siteid传空 10002 服务器本地地址获取失败 10003 GlobalConfig为空 10004 GlobalUtil为空 10005 网络获取服务器地址失败 10006 没有网络 10007 重复登录 10008 初始化成功 登录(20000) 20001 没

  • 访问服务常见报错: 错误码 语义 解决方法 INTERNAL_ERROR 服务端异常 联系SDS支持人员 ACCESS_DENIED 没有操作权限 联系团队管理员授权 RESOURCE_NOT_FOUND 表不存在 参照RESOURCE_NOT_FOUND异常 QUOTA_EXCEED 表空间配额不足 参照配额说明 VALIDATION_FAILED 参数错误 表名要符合规范; put/get等操