[英]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.