Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.ClassNotFoundException:使用外部jar的小程序_Java_Html_Jsp_Applet - Fatal编程技术网

java.lang.ClassNotFoundException:使用外部jar的小程序

java.lang.ClassNotFoundException:使用外部jar的小程序,java,html,jsp,applet,Java,Html,Jsp,Applet,我正在使用jsp页面开发小程序代码 <APPLET id = "app" codebase="<%=request.getContextPath()%>/lib/" code="com.myDemo.test.RunApplet.class" width=100 height=50 archive="myApp1.jar, myApp2.jar"> </APPLE

我正在使用jsp页面开发小程序代码

    <APPLET 
      id = "app"
      codebase="<%=request.getContextPath()%>/lib/" 
      code="com.myDemo.test.RunApplet.class" 
      width=100 
      height=50 
      archive="myApp1.jar, myApp2.jar">    
   </APPLET>
当我执行myApplet.jsp时,它将抛出错误

java.lang.ClassNotFoundException:com.myDemo.test.RunApplet.class

我也申请了

codebase = "."
codebase = "classes"
codebase = "classes/"

但仍然是ClassNotFoundException。

您必须引用

像你一样:

archive="myApp1.jar, myApp2.jar"
请注意您的JAR在存档中的位置:

然后,您必须逐个检查并包含所有依赖项:

解决方案1(如果不是太多jar的话):尝试、检测异常(比如这个:com.myDemo.test)、包括jar,等等

您必须至少给出每个依赖项

如果您的代码很短(applet的原则),则下载时间会更短

解决方案2:使用一些工具:JarAnalyzer


解决方案3:非常简单,但给出了非常大的jar:将所有内容都包含在一个jar中

请注意,
WEB-INF
文件夹中的任何内容都只能由后端servlet读取,不能由浏览器中运行的任何内容(包括小程序[1])

如果
lib
文件夹中的两个
jar
仅由小程序使用,则可以将文件夹上移到
webcontent
级别。如果您的后端也使用它们,则必须复制它们或创建一个servlet将它们提供给前端


[1]

可能重复的:您能简要解释一下吗?我必须检查哪种依赖关系!如何引用所有jar?我检查了RunApplet.class是否存在于myApp1.jar中,根据我的要求,我不能在一个jar中包含所有内容。@KevalTrivedi,异常表示jvm找不到它。这是要解决的第一个问题:请参阅关于位置的链接。第二:至少放置您需要的jar,或者重构它们(具有最少类的特殊jar)。我做过一次。谢天谢地,看到这个问题的人意识到这里可能存在什么问题。:)OP可以尝试直接在浏览器地址栏中获取这些罐子,以确认您的分析。@billc.cn感谢您纠正了问题,并为我提供了解决方案。
archive="myApp1.jar, myApp2.jar"