繁体   English   中英

Java classpath失败,但是eclipse有效

[英]Java classpath fails but eclipse works

当我运行将SQL驱动程序用于jbdc的代码时,它将在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命令时,类名之前的所有“开关”(以-开头的东西)都被视为JVM的参数。 所有在类名之后的那些都被视为类中main方法的参数。

因此,命令行:

java ClassName -cp conn.jar

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

而在命令行中:

java -cp conn.jar ClassName

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

因此,请始终记住在类名之前传递所有JVM参数,包括类路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM