jdbc java jar类路径错误帮助
所以我在文件夹C:\folder\folderbaby中设置了一个可执行jar
jar包含使用jdbc对mysql的一系列调用
如果我从命令行和cd转到C:\folder\folderbaby,然后运行java-jar-thejar。jar,它将正常运行并访问数据库
但是如果我将cd刻录到C:\然后运行java-jar C:\文件夹\folderbaby\thejar。jar,它将返回一大堆错误:
Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error, not in CLASSPATH
?
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error, not in CLASS
PATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Error, not in CLAS
SPATH?
java.sql.SQLException: No suitable driver found for jdbc:idb=experiments.prp
java.lang.IllegalStateException: Not connected, please connect first!
false
首先,这个罐子需要一个容器。包含要访问的数据库信息的prop文件。prop文件包含在jar本身中。。。我猜错误就在那里,因为它找不到prop文件,即使prop文件在jar中
我该如何着手解决这个问题,以便jar甚至可以从包含它的目录之外的目录调用
编辑:舱单内容。MF#############################
Manifest-Version: 1.0
Rsrc-Class-Path: ./ mysql-connector-java-5.1.17-bin.jar weka-src.jar weka.jar j.jar
Class-Path: .
Rsrc-Main-Class: Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
# 1 楼答案
我认为问题在于清单行
Rsrc-Class-Path
是一个Eclipse扩展(它不是Oracle的Jar文件规范的一部分),运行时要解决的Jar文件需要在Class-Path
行上# 2 楼答案
你应该使用
这将设置类路径,然后运行您请求的jar。默认情况下,java使用当前目录作为类路径,当您移动到其他文件夹时,它看不到JAR的位置