我最近在Java中开发了一个连接到数据库的整个系统(使用jtds.jdbc.Driver
),并使用Apache POI将表内容导出并导入到excel表中。我使用Swing作为用户界面。用户将与其进行交互以进行身份验证和文件管理。
显然客户端希望它已部署,因此我开始在Apache tomcat服务器上使用Java Web Start进行部署。
我提出了参考this有趣的教程。自从我跟着它
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="Test.jnlp">
<information>
<title>Talisman</title>
<vendor>CCT</vendor>
<homepage href="http://localhost:8080/"/>
<description>Testing Testing</description>
</information>
<resources>
<j2se version="1.6+"/>
<jar href="Talisman.jar"/>
</resources>
<application-desc main-class="cct.karim.karim"/>
</jnlp>
java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/CellStyle
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
at java.lang.Class.getMethod0(Class.java:2685)
at java.lang.Class.getMethod(Class.java:1620)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.ss.usermodel.CellStyle
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 9 more
什么似乎是问题?
答案 0 :(得分:1)
您没有在部署中包含POI jar。我怀疑你还需要部署其他罐子。您的应用所需的一切都必须下载并安装在客户的主机上。
你需要一行:
<jar href="apache-poi.x.y.jar"/>
为每个jar文件。