首页 > 解决方案 > 运行时执行 (JAR) 找不到 Java CLASSPATH 和连接器 J

问题描述

在此之前,我的应用程序总是编译并执行。我只是使用

jar cvmf mainClass.txt starcoder.jar .class images/ .gif images/*.jpg *.bat

我有一个

**Windows 7 操作系统,Java JDK jdk1.7.0_05,
JRE JRE7,连接器 J mysql-connector-java-3.1.14-bin,使用 TextPad 进行开发,

运行时位于 C:/Program Files/Java 和 Java_home**

这个来自 TextPad 的应用程序,它与 CLASSPATH 一起运行良好并且执行良好。系统编译正确但我的 JAR 文件无法执行

问题:在runtine执行时找不到我的CLASSPATH(在编译时完美运行)给我这个错误

c:\Program Files (x86)\Java\jdk1.7.0_05\bin>java -jar starcoder.jar ClassNotFoundException: com.mysql.jdbc.Driver SQLException: 找不到适合 jdbc:mysql://localhost/starinv 的驱动程序? user=r oot 线程“main”中的异常 java.lang.NoClassDefFoundError: javax/mail/MessagingE xception at serialz.(serialz.java:96) at serialz.main(serialz.java:240) 原因:java.lang。 ClassNotFoundException: java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinCla ssLoader.java:583) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(C lassLoaders.java) 的 javax.mail.MessagingException :178) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 2 更多

类路径

.;C:\Program Files (x86)\Java\jre7\lib\ext\comm.jar;.;C:\Program Files (x86)\Java\jre7\lib\ext\mysql-connector-java-3.1。 14-bin.jar;.;C:\Program Files (x86)\Java\jre7\lib\ext\jxl.jar;.;C:\Program Files (x86)\Java\jre7\lib\ext\mailapi。 jar;.;C:\Program Files (x86)\Java\jre7\lib\ext\mail.jar;.;C:\Program Files (x86)\Java\jre7\lib\ext\activation.jar;.; C:\Program 文件 (x86)\Java\jre7\lib

我的连接器 J 文件位于正确的位置,但在执行 JAR 文件时出现错误。

我需要帮助来解决这个问题。对于我的开发和运行时环境都是一样的。

标签: javajarclasspathconnector

解决方案


尝试这样调用:

java -cp .;"C:\Program Files (x86)\Java\jre7\lib\ext\comm.jar";"C:\Program Files (x86)\Java\jre7\lib\ext\mysql-connector-java-3.1.14-bin.jar";"C:\Program Files (x86)\Java\jre7\lib\ext\jxl.jar";"C:\Program Files (x86)\Java\jre7\lib\ext\mailapi.jar";"C:\Program Files (x86)\Java\jre7\lib\ext\mail.jar";"C:\Program Files (x86)\Java\jre7\lib\ext\activation.jar";"C:\Program Files (x86)\Java\jre7\lib" -jar starcoder.jar

请注意,我删除了您的类路径中多余的“。” 条目并引用每个路径。


推荐阅读