提問:
一个问题,javac C:\Users\Bear\Desktop\test.java能生成test.class ,但运行时却要cd C:\Users\Bear\Desktop进入目录,java test才能运行,而直接java C:\Users\Bear\Desktop\test却不行,很是纠结!
回答:
我感覺是這樣 是兩個命令語法格式要求不同
javac [ options ] [ sourcefiles ] [ @argfiles ]
java [ options ] class [ argument ... ]
javac要求的是sourcefiles,所以它可以把C:> javac Users\Bear\Desktop\test.java中Users\Bear\Desktop\test.java 作為sourcefile處理對待,這應該是遵守了dos的規範
類似的道理,對於java命令,即使指定了classpath,它仍不會認可C:\Users\Bear\Desktop\test是一個class,可能是java設計者認為要區別于dos規範下的普通文件