第一次尝试在Windows下运行一些Java代码,我得到了:
D:\Tmp>java JDBC_SQLServer
Picked up _JAVA_OPTIONS: -Xmx512M
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at JDBC_SQLServer.main(JDBC_SQLServer.java:19)
即,java找到main但没有找到lib。现在, -
D:\Tmp>java -classpath "C:\Program Files\Java\jdk1.8.0_162\lib" JDBC_SQLServer
Picked up _JAVA_OPTIONS: -Xmx512M
Error: Could not find or load main class JDBC_SQLServer
即,java找到sqlserver.jdbc.SQLServerDriver lib,但现在找不到。
JDBC_SQLServer只是一个黑客攻击 https://docs.microsoft.com/en-us/sql/connect/jdbc/connection-url-sample
如何解决?谢谢。
答案 0 :(得分:1)
类路径需要包含当前目录(为了找到你的类及其main
- 方法和jar文件(不仅是包含jar的目录),所以调用可能看起来像这样:
D:\Tmp>java -cp "C:/mssql/lib/sqljdbc41.jar;." JDBC_SQLServer
您不需要对路径使用反斜杠,因为反斜杠通常由您使用的shell专门解析,我个人尽量避免使用它们。