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似乎需要"重新添加"一个类路径(尽管它是"."!!),否则它找不到类。你还必须使用:作为分隔符(有时;),天知道为什么。希望这能在其他人遇到问题时有所帮助。

运行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。

最新更新