我开始问这个问题,然后在提交之前找出答案.我决定发布这个问题,以便遇到同样问题的其他人能够从我的错误中吸取教训.

我遇到了一个applet(实际上是JApplet)无法实例化另一个类的问题,该类与applet包含在同一个jar中.我在Java控制台上看到的例外是:

Exception in thread "thread applet-com.company.program.cm.hmi.MediatorApplet-1" java.lang.NoClassDefFoundError: com/company/program/cm/cs/JDataStore

at com.company.program.cm.hmi.MediatorApplet.getMediator(MediatorApplet.java:63)

at com.company.program.cm.hmi.MediatorApplet.init(MediatorApplet.java:49)

at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: com.company.program.cm.cs.JDataStore

at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

... 4 more

Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/TransportHMI/pages/com/company/program/cm/cs/JDataStore.class

at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)

at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)

at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

... 8 more

我知道JDataStore类包含在jar中.如果我使用jar tvf CM_Library.jar列出内容,我可以看到它在适当的包下面.但是,上面链接的异常使我相信类加载器不是在搜索JDataStore的存档,而是在Web服务器上查找JDataStore.class文件.为什么是这样?类加载器知道从jar加载MediatorApplet类,为什么不检查JDataStore呢?如果我没有在applet标签上正确指定参数,我也会在这里包含:

width="0"

height="0"

codebase="./"

archive="CM_Library.jar"

code="com.company.program.cm.hmi.MediatorApplet">

java applet找不到类_java – Applet类加载器在applet的jar中找不到类相关推荐

  1. java import自定义类_自定义类加载器-从.class和.jar中读取

    一. 类加载器 JVM中的类加载器:在jvm中,存在两种类加载器, a) Boostrap ClassLoader:这个是由c++实现的,所以在方法区并没有Class对象的实例存在.用于加载JAVA_ ...

  2. java简单通讯录的实现02person类_Java自定义类加载器实现不同版本的类加载

    一 什么是类隔离技术 只要你 Java 代码写的足够多,就一定会出现这种情况:系统新引入了一个中间件的 jar 包,编译的时候一切正常,一运行就报错:java.lang.NoSuchMethodErr ...

  3. java加载自己写的类_java 自定义类加载器从磁盘或网络加载类

    一.编写自定义类加载器类 package com.mybatis.entity; import java.io.ByteArrayOutputStream; import java.io.File; ...

  4. 异常将上下文初始化事件发送到类的侦听器实例._Java CLassLoader类加载器详解,一点课堂(多岸学院)...

    Java CLassLoader 类加载器(class loader)是 Java™中的一个很重要的概念.类加载器负责加载 Java 类的字节代码到 Java 虚拟机中.本文首先详细介绍了 Java ...

  5. Java class类文件和类加载器详解以及代码优化

    JVM就是Java虚拟机,它是Java程序运行的载体. 计算机只识别0和1.Java是⾼级语⾔.⾼级语⾔编写的程序要想被计算机执⾏,需要变成⼆进制形式的本地机器码.能直接变成机器码的语义是C++,它的 ...

  6. delphi7 获取dll的类_跟我学Java内存管理----JMM精华终章(类加载器)

    1 类加载器 1.1 类的加载过程 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. (1)加载 就是指将class文件读入内存,并为之创 ...

  7. java反射 数组类,乐字节Java反射之三:方法、数组、类加载器和类的生命周期

    继续讲述Java反射之三:方法.数组.类加载器 一.方法 获取所有方法(包括父类或接口),使用Method即可. public static void test() throwsException { ...

  8. c 自定义实现string类 clear_有关类加载器的总结

    对于java开发来说,classLoader往往是容易被我们忽视的一个重要知识点.而classLoader对java的发展也有很大的影响.例如. 早期的applet应用,通过网络远程加载class文件 ...

  9. Java程序员从笨鸟到菜鸟之(九十九)深入java虚拟机(八)开发自己的类加载器...

    欢迎阅读本专题的其他博客:                      深入java虚拟机(一)--java虚拟机底层结构详解 深入java虚拟机(二)--类的生命周期(上)类的加载和连接 深入java ...

  10. Java高并发编程详解系列-JVM类加载器

    之前的博客中提到了类加载的过程,提到了双亲委托机制,提到了关于类加载器的概念,这篇博客就来给大家分享一下什么是JVM的类加载器.通过实战的方式来了解一下类加载器器到底是什么. JVM类加载器分类    ...

最新文章

  1. php imagemagick 漏洞,ImageMagick漏洞EXP简易生成脚本
  2. lazada本地店和跨境店的优劣势分析
  3. Ticket 服务: 一种经济的分布式唯一主键生成方案
  4. 电脑仙人掌机器人作文_【中考一等作文2篇】致敬奋斗的时光父爱如根般深沉...
  5. 201903-2二十四点
  6. log4j简介及应用
  7. java8 base64_Java 8中的Base64 –加入乐趣为时不晚
  8. 图:图的邻接矩阵创建、深度优先遍历和广度优先遍历详解
  9. OSX/Linux 配置SSH免密登录并配置(Alias)别名登录
  10. linux安装svn服务端图形化界面,Linux svn 图形界面客户端 Rabbitvcs 安装
  11. ftw遍历目录树 getcwd取得当前的工作目录
  12. 由KTT展开的一系列知识点
  13. 〖Python 数据库开发实战 - Python与MySQL交互篇④〗- 数据库连接池技术
  14. 针式打印机偏移测试软件,精打教程(3)打印机打印偏移设置
  15. P3387ybtoj【图论】4章1题【【模板】缩点】
  16. 学生信息管理系统---3021错误
  17. 养狗养成小老头?宠物泪痕严重如何护理?
  18. 2007年9月1日御夫座流星雨
  19. YUMI制作启动盘安装ubuntu时报错:booting ‘find /menu.lstk /boot/grub/menu.lst, /grub/menu.lst‘
  20. 交换机芯片笔记1.2

热门文章

  1. 智能手机系统之战回顾:安卓艰难爬向王位
  2. python批量读取文件里的图片_Python批量从文件夹中读取图片
  3. focusky导出html修改,Focusky动画演示大师怎么将PPT输出为网页格式
  4. 分享一个美团大佬的面试笔记 - MySQL 30 问与答
  5. 信贷系统学习总结(4)——现金贷之催收业务和后台系统
  6. 医用计算机app,大型医用设备题库
  7. audio标签报错:DOMException: The play() request was interrupted by a new load request.
  8. ASP.NET--配置开发环境
  9. File的listFiles方法的坑
  10. 操作系统实验五·xv6系统内存布局修改·栈空间位置变更与栈不足时扩充