Java类路径失败,但eclipse工作

时间:2015-11-13 21:15:06

标签: java eclipse

当我运行使用jbdc的sql驱动程序的代码时,它适用于eclipse。这是在我进入项目属性并添加外部jar之后。但是,当我从命令行运行以下命令时,它会失败。

java -version
java version "1.8.0_25"
javac sql_stuff.java 
java sql_stuff -classpath conn.jar

java.sql.SQLException: No suitable driver found for jdbc:mysql://...

与-cp

相同
 javac sql_stuff.java 
 java  sql_stuff -cp conn.jar 

在Eclipse中我所要做的就是去项目>属性> Java构建路径>库并添加jar文件。

修改

最终用

运行
java -cp .:conn.jar sqlstuff

Java似乎需要“重新添加”一个类路径(即使它是'。'!!!),否则它将无法找到该类。你必须使用:作为分隔符(或有时;),上帝知道为什么。希望当他们遇到问题时,这将有助于其他人。

1 个答案:

答案 0 :(得分:2)

当您运行java命令时,在类名之前的所有“开关”(以 - 开头的东西)都被视为JVM的参数。所有类名后面的人都被认为是类中main方法的参数。

所以命令行:

java ClassName -cp conn.jar

将被解释为“在没有JVM参数的情况下运行,将数组{ "-cp", "conn.jar" }作为args传递给main

命令行:

java -cp conn.jar ClassName

将被解释为“使用conn.jar的类路径运行,并使用空main数组在ClassName中调用args

所以请记住传递所有JVM参数,包括类路径,之前类的名称。