我無法理解使用-c選項與javac時的某些行爲。我在Windows 7機器的目錄C:\ A \ B \ C>中有兩個java文件。這些文件是Extend.java和TestExtend.java;都屬於包'包com.gonni.profile'。我收到以下錯誤:用cp開關編譯java程序 - 出乎意料的行爲
C:\A\B>javac -d . -cp C\Extend.java
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
C:\A\B>javac -d . -cp 39#$%$fe#%#$%FF#$%GWE C\Extend.java
C:\A\B>javac -d . -cp C\TestExtend.java
javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options
C:\A\B>javac -d . -cp 3458$^$%$%BF#W%V#$ C\TestExtend.java
C\TestExtend.java:6: cannot find symbol
symbol : class Extend
location: class com.gonni.profile.TestExtend
Extend exObj = new Extend();
^
C\TestExtend.java:6: cannot find symbol
symbol : class Extend
location: class com.gonni.profile.TestExtend
Extend exObj = new Extend();
^
2 errors
C:\A\B>javac -d . -cp . C\TestExtend.java
C:\A\B>
Extend.java是:
package com.gonni.profile;
class Extend {
class Inner {
}
}
TestExtend.java是:
package com.gonni.profile;
class TestExtend {
public static void main(String[] args) {
Extend exObj = new Extend();
}
}
您是否在TestExtend類中導入了Extend類? – Jayamohan
1)-cp需要一個參數,你在很多示例中省略它。 2)你的Windows路徑不正確3)在例子2和3中你提供給-cp的垃圾字符是什麼? – Perception
感謝您快速回答。我意識到我的問題並不完整,並且即將編輯... java文件位於C:\ A \ B \ C,我正在從C:\ A \ B提供javac命令。我無法理解的是,如果我在-cp和實際路徑之間輸入任何隨機字符串,則javac編譯不然。是的,爲什麼我們可以用after -cp輸入任何垃圾參數,爲什麼還要輸入-cp expect和argument;任何解釋你的陳述的鏈接? – vk7905