[英]java.lang.ClassNotFoundException: Applet using external jar
我正在使用jsp页面开发applet代码。
<APPLET
id = "app"
codebase="<%=request.getContextPath()%>/lib/"
code="com.myDemo.test.RunApplet.class"
width=100
height=50
archive="myApp1.jar, myApp2.jar">
</APPLET>
我的目录结构是:
DemoProject
-- src (some classes & packeages)
-- build
-- WebContent
-- css (some css file)
-- script (some js file)
-- WEB-INF
-- jsp(some jsp file)
-- myApplet.jsp
-- lib
-- myApp1.jar
-- myApp2.jar
当我执行myApplet.jsp时,它将引发错误
java.lang.ClassNotFoundException:com.myDemo.test.RunApplet.class
我也曾申请
codebase = "."
codebase = "classes"
codebase = "classes/"
但仍然是ClassNotFoundException。
请注意, WEB-INF
文件夹中的任何内容仅对后端servlet可读, 而浏览器中运行的任何内容(包括applet [1]) 均不可读。
如果lib
文件夹中的两个jar
仅由applet使用,则可以将该文件夹上移到webcontent
级别。 如果您的后端也使用它们,则必须复制它们或创建一个servlet才能将它们提供给前端。
您必须在<APPLET标签>中引用所有jar。
像你所做地:
archive="myApp1.jar, myApp2.jar"
当心您的罐子在档案中的位置:
然后,您必须检查所有依赖项,并一一包含它们:
解决方案1(如果罐子不是太多):尝试检测异常(例如com.myDemo.test),包括罐子,依此类推。
您必须至少给出每个依赖项。
如果您的代码很短(小程序的原理),则下载时间会较短。
解决方案2:使用一些工具:jaranalyser,...
解决方案3:非常简单,但提供了很大的罐子:将所有东西都放入一个罐子中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.