java - 运行时执行 (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 文件时出现错误。
我需要帮助来解决这个问题。对于我的开发和运行时环境都是一样的。
解决方案
尝试这样调用:
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
请注意,我删除了您的类路径中多余的“。” 条目并引用每个路径。
推荐阅读
- python - 相当于 python -i 的 Visual Studio 代码
- dart - 将 pushNamed 与 Dismissible 小部件一起使用
- mongodb - 通过更新查询识别修改的字段而不运行它
- c++ - Qt5 - 阻止来自其子级的 QWidget update() 函数调用
- apache-spark - 处理火花结构化流后生成空 CSV 文件
- javascript - Bootstrap Scrollspy 不工作:Scrollspy 不是函数
- python-3.x - 带有表格格式的 Matplotlib 条形图
- javascript - 如何在此函数中使用 getMinutes 而不是 getHours
- spring - 在不同控制器的视图之间共享modelAttribute
- angular - 无法通过代理 Angular 传递 http 标头