我有这段代码
try {
url = new URL("http://miprueba.co.nf/prueba.xls");
input = url.openStream();
bookModel = new HSSFWorkbook(input);
} catch {
...
}
在服务器的miprueba.co.nf文件夹中,我有“myapplet.jar”和“prueba.xls”以及带有“poi-3.9-2021203.jar”的子目录“lib”
这是我在代码“bookModel = new ...”中从控制台获得的消息
network: cache not found [URL: http://miprueba.co.nf/lib/poi-3.9-20121203.jar, versión: null]
network: Connectin http//miprueba.co.nf/lib/poi-3.9-20121203.jar con proxy=DIRECT
network: CleanupThread used 5 us
network: Downloading resource: http//miprueba.co.nf/lib/poi-3.9-20121203.jar
Content-Lenght: 1.821.732
Content-Encoding: null
network: Cache not found [URL: http//miprueba.co.nf/, versión: null]
network: Cache not found [URL: http//miprueba.co.nf/org/apache/poi/hssf/usermodel/HSSFWorkbook.class, versión: null]
network: Connecting http//miprueba.co.nf/org/apache/poi/hssf/usermodel/HSSFWorkbook.class con proxy=DIRECT
network: CleanupThread used 5 us
Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
at applettest.Variables.<init>(Variables.java:50)
at applettest.myApplet.jButton2ActionPerformed(myApplet.java:124)
....
....
....
有任何帮助吗? 我希望能够从excel文件“prueba.xls”中读取一个数字。 提前致谢!
答案 0 :(得分:0)
关键是:
Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: org/apache/poi/hssf/usermodel/HSSFWorkbook
您缺少运行时类路径中的Apache POI jar。您应该修复它以便应用程序正确加载它,或者生成包含代码和所有依赖项的单个jar。无论哪种方式,如果要使用POI,都需要在运行时使用POI!
答案 1 :(得分:0)
如果认为服务器端的MIME类型对.jar文件不正确。
如果我查看从POI网站下载的poi-3.9-20121203.jar,我有1,869,113字节。您记录的是1.821.732字节。
另一种可能性是您使用Java 7重新编译了库,而Applet使用Java 6运行。
这是您的 .htaccess
AddType application / java-archive .jar
答案 2 :(得分:0)
我从上面得到的是 - 您正试图在applet
中使用第三方jar,即从excel
读取。要使applet使用第三方jar,请使用jarsigner
对其进行签名。
签署你的第三方jar将它们放入classpath
,它应该可以正常工作。