有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

共 (2) 个答案

  1. # 1 楼答案

    我认为问题在于清单行Rsrc-Class-Path是一个Eclipse扩展(它不是Oracle的Jar文件规范的一部分),运行时要解决的Jar文件需要在Class-Path行上

  2. # 2 楼答案

    你应该使用

    java -classpath C:\folder\folderbaby -jar C:\folder\folderbaby\thejar.jar
    

    这将设置类路径,然后运行您请求的jar。默认情况下,java使用当前目录作为类路径,当您移动到其他文件夹时,它看不到JAR的位置