jar ファイルにトークン クラス ファイルがあります。トークン クラス ファイルは、jdbc を使用してデータベースからデータを取得するクラスです。ただし、jar ファイルを呼び出すと、外部の mysql ドライバー jar ファイルが認識されないようです。
エラーは Class.forName(driver); という行に示されています。
Antビルドファイルでmysqlドライバーを参照し、考えられるすべてのクラスパスを参照しました。
<mkdir dir="build/server/dist"/>
<jar destfile="build/server/dist/VNCOverHTTPServer.jar" basedir="build/server/classes">
<manifest>
<attribute name="Main-Class" value="jhttpserver.JHttpServer"/>
<attribute name="Class-path" value="lib/servlet.jar lib/mysql-connector-java-5.1.7-bin.jar config/"/>
</manifest>
</jar>
何も機能していませんか?任意の助けをいただければ幸いです。
ありがとう
java.lang.ClassNotFoundException: mysql at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) java.lang.ClassLoader.loadClass(ClassLoader.java:316) で、sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:288) で、java.lang.ClassLoader.loadClass(ClassLoader.java:251) で。 lang.ClassLoader.loadClassInternal(ClassLoader.java:374) で java.lang.Class.forName0(Native Method) で java.lang.Class.forName(Class.java:169) で socksviahttp.server.token.getConnection(token. java:58) で socksviahttp.server.token.exists(token.java:75) で socksviahttp.server.ServletSocks.doPost(ServletSocks.java:328) で javax.servlet.http.HttpServlet.service(HttpServlet.java:760) ) javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at jhttpserver.JHttpServerThread.run(JHttpServerThread.java:217)