如何解决 ClassNotFoundException?

2024-03-08

我正在尝试运行 Java 应用程序,但收到此错误:

java.lang.ClassNotFoundException:

冒号后面是缺少的类的位置。但是,我知道该位置不存在,因为该类位于其他地方。我怎样才能更新该类的路径?和类路径有关系吗?


类路径是从中加载类的位置的列表。

这些“位置”可以是目录,也可以是 jar 文件。

对于目录,JVM 将遵循预期的模式来加载类。如果我有目录C:/myproject/课程在我的类路径中,我尝试加载一个类com.mycompany.Foo,它将在类目录下查找名为的目录com,然后在该目录下有一个名为我的公司,最后它会寻找一个名为Foo.class在该目录中。

在第二个实例中,对于 jar 文件,它将在 jar 文件中搜索该类。 jar 文件实际上只是像上面这样的目录的压缩集合。如果解压一个 jar 文件,您将得到一堆遵循上述模式的目录和类文件。

因此,当 JVM 尝试加载类定义时,它会从头到尾遍历类路径来查找类的定义。例如,在类路径中:

C:/myproject/classes;C:/myproject/lib/stuff.jar;C:/myproject/lib/otherstuff.jar

JVM 将尝试在目录中查找classes首先,然后在东西.jar最后在其他东西.jar.

当您收到 ClassNotFoundException 时,这意味着 JVM 已遍历整个类路径,但没有找到您尝试引用的类。正如 Java 世界中常见的那样,解决方案是检查类路径。

您可以通过以下命令在命令行上定义类路径java -cp然后是你的类路径。在 Eclipse 等 IDE 中,您将有一个菜单选项来指定您的类路径。

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

如何解决 ClassNotFoundException? 的相关文章

  • 使用 TLS PSK 加密时如何正确检测流结束?

    我已经准备好了一个简单的 TLS PSK 客户端测试用例 https github com afarber jetty newbie tree master TlsPskClient2 src main java de afarber tl
  • 从 Android 函数更新 Textview

    有人可以告诉我如何从函数更新 Android Textview 控件吗 我在互联网上进行了深入搜索 看到很多人都问同样的问题 我测试了线程但无法工作 有人有一个简单的工作示例吗 例如 调用一个函数 在循环中运行多次 并且该函数在 TextV
  • JAX-WS 入门 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有人可以推荐一些关于 JAX WS 入门的好教程吗 使用各种工具 如 wsgen 等 您可以从这里开始 通过 Java SE 6 平台介绍
  • 使用 Spring MVC 在 jar 文件中显示 jsp 页面

    我正在使用 Spring MVC 3 2 2 在 java 中开发一个 Web 应用程序 我在从 jar 文件中加载 jsp 页面时遇到问题 Spring MVC Web应用程序具有以下结构 META INF WEB INF spring
  • 如何获取Python对象父级?

    所以 我试图获取自定义对象 内部 的对象 这是一个例子 假设 o 是一个对象 无论是什么类型 它都可以存储变量 o Object class Test def init self self parent o This is where I
  • Java:一种将 Mime(内容)类型与 CommonsMultipartFile 中的文件扩展名相匹配的方法

    在我的公司 出于额外原因 我需要将 mime 类型与文件扩展名进行比较 我有一个CommonsMultipartFile 我正在尝试找出进行这种比较的最佳方法 我见过一个MimetypesFileTypeMap 但不确定这是否适用于此 我试
  • Google 表格使用 API 密钥而不是 client_secret.json

    In the QuickStart java示例Java 快速入门 https developers google com sheets api quickstart java他们使用OAuth client ID识别该应用程序 这会弹出一
  • 是否可以使用 Apache Tika 提取表信息?

    我正在寻找 pdf 和 MS Office 文档格式的解析器 以从文件中提取表格信息 当我看到 Apache Tika 时 正在考虑编写单独的实现 我能够从任何这些文件格式中提取全文 但我的要求是提取表格数据 我希望有 2 列采用键值格式
  • 在 doxygen 中使用 @see 或 @link

    我之前用 Javadoc 记录并使用了标签 see link or see foo and link foo 在我的描述中链接到其他课程 现在我尝试了doxygen 似乎这些标签不兼容 如果我运行 doxygen 完整的标签将被简单地解释为
  • java:为什么主线程等待子线程完成

    我有一个简单的java程序 主线程 main 创建并启动另一个线程t class T extends Thread Override public void run while true System out println Inside
  • java彩色滚动条搜索结果

    我将如何在 Java 中自定义滚动条 以便我可以进行像 chrome 一样的搜索 也就是说在结果所在的位置放置彩色条纹 我不想要一个库 因为我更喜欢自己编写代码 另外 我不想失去我拥有的 L F 欢迎举例 实际上 它将查看一个大的文本文件或
  • 如何获取 JDBC 中 UPDATE 查询影响的所有行?

    我有一项任务需要使用更新记录PreparedStatement 一旦记录被更新 我们知道更新查询返回计数 即受影响的行数 但是 我想要的不是计数 而是受更新查询影响的行作为响应 或者至少是受影响的行的 id 值列表 这是我的更新查询 UPD
  • 如何在 JmsMessagingTemplate.sendAndReceive 上设置等待超时

    我在 MVC 控制器中使用 JmsMessagingTemplate 的 sendAndReceive 但如果没有发送回复消息 它似乎会永远等待回复 该文档指出 返回 回复 如果无法接收消息 例如由于超时 则可能为 null 然而 我只是不
  • 在约束验证器中使用 Guice 进行依赖注入

    我有一个在 ConstraintValidator 的实现中注入类的用例 我正在使用 Google guice 进行依赖项注入 目前无法在验证器内注入 我的场景的简化形式 内部模块 Provides Singleton public Ser
  • 获取接收者的设备令牌以在 Firebase 中发送通知

    所以我正在学习如何使用 firebase 发送设备到设备的通知 我看到了这个answer https stackoverflow com a 42548586 5237289发送通知 看起来很简单 现在 我知道要获取发件人的令牌 它应该如下
  • Java 8:如何创建毫秒、微秒或纳秒的 DateTimeFormatter?

    我需要创建格式化程序来解析具有可选的毫秒 微米或纳秒分数的时间戳 例如 对于我的需求 我看到以下机会 DateTimeFormatter formatter new DateTimeFormatterBuilder append DateT
  • 线程数组?

    所以我在理解如何避免线程的顺序执行时遇到了问题 我试图创建一个线程数组并在单独的循环中执行 start 和 join 函数 这是我现在拥有的代码示例 private static int w static class wThreads im
  • 如何更改 JAX-WS Web 服务的地址位置

    我们目前已经公开了具有以下 URL 的 JAX RPC Web 服务 http xx xx xx xx myservice MYGatewaySoapHttpPort wsdl http xx xx xx xx myservice MYGa
  • 为什么/何时应该使用泛型方法?

    学习Java的时候遇到过通用方法 public
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j

随机推荐

  • WPF DataGrid 加载时间不合理

    我的 WPF DataGrids 加载时间总是很长 而且我在网上找不到任何类似的报告 所以我怀疑我做错了什么 现在我确信这一点 因为增加布局复杂性会大大减慢执行速度 在非常简单的布局中 DataGrid 会立即填充 而下面的代码大约需要 3
  • python ImageTk.PhotoImage - 段错误

    我尝试在 Mac 10 6 8 上运行以下命令 Python 2 7 2 EPD 7 1 2 64 bit default Jul 27 2011 14 50 45 GCC 4 0 1 Apple Inc build 5493 on dar
  • 在 Julia 中读写 RData 文件

    我用 google 搜索 但在 Julia 中找不到任何可以读写 R 的 RData RDa 文件的函数 有没有任何库 函数 包可以让我做到这一点 DataFrames 的 src 目录中似乎有一个 RDA jl 文件 但我在 DataFr
  • 如何获取 Django 中 TextField 的长度?

    我知道对于常规字符串 您可以执行 x len 来获取它的长度 但 Django 模型 TextField 似乎不需要这样做 我找到并查看了模型字段参考 https docs djangoproject com en dev ref mode
  • 将 Web 服务器与数据库和 J2ME 连接

    我做了一个移动应用程序 用户可以使用它获取所需地点的号码 用户必须选择适当的城市和类别才能获取该地点的信息 所有信息都存储在数据库中 我想知道的是 1 网络服务有什么好处 2 如何连接Web服务和MySQl数据库 3 如何连接Web服务和移
  • 如何在非托管 C++ 中设置区域性信息?

    我有一个用非托管 C 编写的程序 我需要从系统获取文化信息并将该信息设置为我的 C 应用程序中的当前执行线程 Thanks 在 Windows 上的非托管 C 中 您需要的是 Locale 文化是 NET 中定义的术语 作为该术语的替代品
  • PHP会话变量从子域到主域

    我在亚马逊 Web 服务器 EC2 实例上的 ISPConfig 中设置了 2 个域 站点 我有一个名为app example com http www app example com另一个是https www example com ht
  • 在 Android 中设计国际象棋

    我通过使用表格布局中的按钮为国际象棋游戏设计了一个用户界面 对于棋子 我采用 ASCII 值并将其作为字符串值打印在按钮上 但我不知道单击按钮时如何获取该值 这是我第一次为Android 编程
  • 如何使 find() 能够处理一组结构?

    我正在使用一个set保存包含多个字符串的结构 我希望能够使用find 集的功能 但是 由于该集合保存结构 因此它不起作用 我想find 仅查看结构中的字符串之一 如何才能做到这一点 这是我尝试使用的代码 除了以下部分之外 它工作正常find
  • PHP isset($this) 并在静态和对象上下文中使用相同的对象方法

    我正在开发一个需要通过静态函数调用和对象方法访问的类 我发现的一件事是我在多个函数之间重复逻辑 简化示例 class Configurable protected configurations array protected static
  • iOS 应用程序的 Firebase 3.7.0 上的链接错误

    我尝试在我的 iOS 应用程序中使用 Firebase SDK 3 7 0 但它出现链接错误 我已按照 README md 中描述的步骤进行操作 该文件包含在从下载的框架 SDK 中https firebase google com doc
  • 渐变 IE8+ 所需的最低 CSS

    通常当我制作渐变时我使用colorzilla 渐变编辑器 http www colorzilla com gradient editor 默认情况下 它会为您生成 CSS 这是一个例子 background 1e5799 Old brows
  • ruby on Rails 如何删除文件routes.rb中的一行

    在我的文件routes rb中 namespace admin do resources albums except new edit destroy resources conversation replies except new ed
  • 有人提出了 javascript 的 Pipe 运算符吗?

    许多语言都有一个运算符 允许您将一个操作的结果通过管道传输到对另一个操作的调用中 例如 bash 中的运算符 gt F 中的运算符 在我看来 JavaScript 中方法链接的常见习惯用法的一大优点是它从上到下 从左到右读取 var foo
  • 视图更新后,旋转器动画开始弹跳

    我有一个图像 我对其应用了 360 度旋转以产生加载 旋转的效果 它工作正常 直到我在下面添加文本 图像仍然旋转 但垂直弹跳 这是查看它的代码 import SwiftUI main struct SpinnerApp App var bo
  • 安装 Kafka 作为 Windows 服务

    如何将 Apache Kafka 作为 Windows 服务安装并运行 现在我需要进入命令提示符并启动zookeeper和kafka服务器 有什么方法可以让我将 Apache Kafka 安装为 Windows 服务吗 我只看到下面的博客
  • 为什么我的 Google App Engine Mail API 调用仍然会导致 DeadlineExceededError,尽管将它们放入任务队列中?

    我有一个 Python 函数 它为我的邮件列表中的每个电子邮件地址添加一个任务队列 每次邮寄数千个 问题是 即使每封邮件都是通过任务队列中的执行发送的 我仍然遇到这个可怕的错误 DeadlineExceededError The API c
  • 正则表达式模式忽略多个文件夹

    忽略多个文件和文件夹的正确语法是怎样的电子包装机 https www npmjs com package electron packager 只有一个参数 例如 ignore docs 效果很好 但我想忽略多个文件夹和文件 例如 ignor
  • R中如何判断列表是否为空?

    本质上 我有一个创建 list 输出的函数 我希望我的函数不创建 list 而是用另一个值 例如 NULL 或字符串 替换它 有没有办法确定变量是否分配给空列表list 空列表为空 它没有元素 但仍然是一个列表 没有元素的列表的长度为 0
  • 如何解决 ClassNotFoundException?

    我正在尝试运行 Java 应用程序 但收到此错误 java lang ClassNotFoundException 冒号后面是缺少的类的位置 但是 我知道该位置不存在 因为该类位于其他地方 我怎样才能更新该类的路径 和类路径有关系吗 类路径