当我运行使用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似乎需要"重新添加"一个类路径(尽管它是"."!!),否则它找不到类。你还必须使用:作为分隔符(有时;),天知道为什么。希望这能在其他人遇到问题时有所帮助。
运行java
命令时,类名之前的所有"switch"(以-开头的东西)都被视为JVM的参数。类名之后的所有参数都被视为类中main
方法的参数。
所以命令行:
java ClassName -cp conn.jar
将被解释为"在没有JVM参数的情况下运行,将数组{ "-cp", "conn.jar" }
作为args
传递给main
而命令行:
java -cp conn.jar ClassName
将被解释为"使用conn.jar
的类路径运行,并使用空的args
数组调用ClassName
中的main
"。
因此,请始终记住在类名称之前传递所有JVM参数,包括classpath。