Java:包不存在

2024-01-12

我在目录:E:\stuff\Java>

我创建了一个包A:

package pack;

public class A
{
    public void methodA(){
        System.out.println("MethodA");
    }
}

为了编译,我使用了以下语句:

javac -d . A.java

这样就创建了一个名为 pack 的文件夹,其中包含 A.class。 然后我尝试在另一个程序中导入这个包:

import pack.A;

    class B
    {
        public static void main(String[] args){
            A a = new A();
            a.methodA();
        }
    }

当我尝试编译这段代码时:

javac B.java

我收到以下错误:

   B.java:1: error: package pack does not exist
import pack.A;
           ^
B.java:6: error: cannot find symbol
                A a = new A();
                ^
  symbol:   class A
  location: class B
B.java:6: error: cannot find symbol
                A a = new A();
                          ^
  symbol:   class A
  location: class B
3 errors

我不明白为什么代码无法运行。我的 B.java 文件和包位于同一文件夹中。

有人可以解释一下这段代码中的错误吗?


从你的错误来看,它看起来像你的“其他程序”B.java与“A.java”不在同一目录(E:\stuff\Java)中。这意味着当您尝试编译时B.java编译器不知道在哪里找到类pack.A。要“使 A 可见”,您必须添加pack.A到你的类路径,这意味着编译:

javac -cp ".;<path_to_add>" B.java

在你的情况下<path_to_add>应该E:\stuff\Java。这将您的类路径设置为不仅是当前目录(.),还有你的目录pack包岛。

要运行您的程序,您必须再次添加pack.A给你的班级路径:

java -cp ".;<path_to_add>" B

又在哪里<path_to_add>应该E:\stuff\Java.

这里我假设你使用的是windows。在 Unix 上-cp选项的语法略有不同:-cp ".:<path_to_add>"哪里的;已被替换为:.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:包不存在 的相关文章

随机推荐

  • Angular 2/4 如何设计 Angular Material Design 小吃栏的样式

    我是 Angular2 4 和 Angular Typescript 的新手 我想要设计有角度的材料设计snackbar例如 将背景颜色从黑色和字体颜色更改为其他颜色 我该如何设计 snackbar 的样式 我在服务 核心中有材料设计小吃栏
  • Electron:渲染器访问主进程?

    主进程打开与渲染器需要访问的服务的连接 这可能吗 我尝试过声明global thing and exports thing 并拥有渲染器require electron remote thing 其中 thing 是函数或标量 但运气不佳
  • 三个js,获取pointerlockcontrolsi面对的vector3

    想知道是否可以获取指针锁定控件中偏航对象所面对的方式并将其用作光线投射器的方向 我一直在研究代码 试图向其中添加一些基本的射击游戏内容 我一直在尝试使用指针控件提供的偏航对象中的 X 和 Y 值在堆栈溢出中发现的一些内容 但没有运气 这是我
  • 如何使用 classLoader 从加载的类中调用方法?

    这是我使用的代码 File urlclasspath new File C Users ASUS Desktop semantics semantics bin URL urlarray new URL 1 urlarray 0 urlcl
  • 想要在ssis中连接oledb和mysql

    我正在开发一个项目 我必须使用 OLEDB 数据源从 MySQL 获取数据 我在将 Ole db 数据源与 MySql 连接时遇到问题 我正在使用 VS2015 版本 我想使用 OLEDB 从 SSIS 连接到 Mysql 数据库 MySQ
  • “google.cloud.storage”存在问题。模块没有属性“客户端”

    尝试使用这些说明简单地连接到 google cloud storage https googleapis github io google cloud python latest storage index html https googl
  • 为什么 c++11 正则表达式(libc++ 实现)这么慢?

    我与Linux C正则表达式库进行了比较 include
  • 定位 GMSMapView 以一次显示多个注释

    我的问题非常类似于这一点 MKMapView 除外 https stackoverflow com questions 1336370 positioning mkmapview to show multiple annotations a
  • Java - 从 MySQL 数据库获取数据

    我已经连接到一个 MySQL 数据库 该数据库包含四个字段 第一个字段是 ID 后面的每个字段都包含 varchar 字符串 我试图获取数据库的最后一行并检索字段的内容 以便我可以将它们设置为变量 一个 int 和三个字符串 并稍后使用它们
  • 如何在android-电话会议中以编程方式合并通话

    我正在开发一个 Android 应用程序 它可以自动呼叫 自动拨号 5 个人 并以编程方式将他们放入电话会议 这些呼叫是 GSM 从我的号码到另外 5 个电话号码的本地呼叫 到目前为止 我的研究发现 目前android SDK中没有可以通过
  • Windows [cmd.exe] 命令显示超时消息框?

    Note This is a question with answer https stackoverflow com help self answer in order to document a technique that other
  • 在 SSIS 中使用正确的函数拆分列中的值

    我需要你们的紧急帮助 我有一列代表用户的全名 现在我想将其分为名字和姓氏 全名的格式为 World hello 现在这里的名字是 hello 姓氏是 world 我正在使用派生列 SSIS 并对名字使用右函数 对姓氏使用子字符串函数 但这些
  • 如何模拟 csv 文件

    我有一个 csv 解析器模块 可以解析非常特定类型的 csv 文件并从中提取字段 现在为了测试这个模块 我正在编写一些单元测试 传统上 为了测试模块 我会创建一个格式相同但条目有限的示例 csv 文件 然后将此文件传递给模块并检查输出 显然
  • Google Glass 的 Hello World 程序 - 一步一步

    一周前我开始阅读有关 Google Glass 开发的内容 包括this https developers google com glass overview 然而 我仍然找不到开发 完整的hello world程序 的教程 我所说的 完整
  • 使用流将列表拆分为 n 大小的较小列表[重复]

    这个问题在这里已经有答案了 如何获取 Java 列表并将其拆分为较小的大小列表n在Java中使用流 在 JavaScript 中 我会使用reduce 函数并执行如下操作 const n 3 const sublists 1 2 3 4 5
  • 如何根据大小在表格行中显示图像

    有2x2网格 动态使用TableLayout 需要显示图像 现在基于图像大小 意味着 如果图像适合 1 个单元格意味着 1 个单元格 否则大意味着基于大小的 2 个单元格或 4 个单元格 我知道它将占用多少个单元格 我可以在 1 个单元格中
  • 为什么我收到错误没有这样的列?

    我有公司模型和模型 Invintaton 公司可以邀请其他公司进行消息传递 现在我需要只显示确认消息传递的公司 class Company lt ActiveRecord Base has many sent invitations cla
  • Lucene 查询语言和数值范围

    我应用以下 Lucene 查询谓词来获取 2 到 6 范围内的所有数字 value 2 TO 6 并接收具有以下值的文档 567986400000 567986400000 567986400000 536450400000 5364504
  • 使用 p 元素而不是 span 渲染 JSF h:message

    我想创建一个自定义消息渲染器来将 h message 渲染为 p html 元素而不是 span 元素 它涉及以下消息标签
  • Java:包不存在

    我在目录 E stuff Java gt 我创建了一个包A package pack public class A public void methodA System out println MethodA 为了编译 我使用了以下语句 j