我有一個包含D:\ProjectGsc\
中的一些類的軟件包。包根文件夾被稱爲gsc
幷包含三個子目錄,即util
,core
和modules
。裏面的每個人都是一些文件,並在core
裏面有一個名爲gsc.class
的文件。除此之外,gsc
文件夾中還有一個文件夾res
,其中包含我的程序包類中的JFrame和JDialog所使用的一些圖像。我設法使用-classpath \projectgsc
來編譯所有內容,並且由於代碼已被調試,所有內容都可以順利編譯。但我根本無法運行它。我嘗試java gsc -classpath \projectgsc
,而我在D:\ProjetctGsc\gsc\core\
裏面,但是它在主線程中給我例外(主要的語法肯定是正確的)java.lang.NoClassDefFoundError: gsc (wrong name: gsc/core/gsc)
。是因爲我的班級的名字是gsc
包內gsc.core
?編譯軟件包不運行
在此先感謝! (順便說一句,SO不允許我提出「運行時類路徑問題」的問題,所以這是我可以想出的最好的標題,隨時編輯它)
我知道我違反命名約定,我打算有時更改名稱,我只是想檢查這是否工作。謝謝你會嘗試一下! :) –
@Spiritios:我會敦促你修復你的代碼,以便儘早遵循約定。除了其他任何事情,任何時候你用非常規的名字提出問題,都會讓人們更難以遵循代碼。 –
好吧,它可以工作,現在我可以再問你一件事,因爲我對classpaths很陌生:當把它做成一個Jar時,指定一個類路徑就好了,就像'jar ... parameters ... -classpath \ projectgsc' ?它會在任何地方運行良好,否則我會有任何位置依賴性? –