在使用jGRASP我注意到輸出在包裝程序比正常略有不同,具體的節目名稱似乎是從類的頂部開始的相對路徑。Java編譯,包和相對路徑
例如,對於一個Java程序,包括聲明package ch01.stacks;
,編譯輸出的樣子:
javac -g ch01\stacks\ArrayStack.java
,並出現同樣的運行輸出。
我在想,如果有模擬在其他程序,如記事本++或gedit中,用戶可以設置腳本編譯程序,這種行爲比較簡單的方法。
編輯:我很抱歉,我忘了提及編譯腳本,我說的基本上是程序文件名傳遞到javac。我寧願不使用絕對路徑,我希望我的腳本儘可能以類似於jGRASP的方式工作。
爲了進一步澄清這一問題就在眼前,我目前的劇本,我相信封裝結構是給我的問題,因爲它是在程序的當前目錄編制。我正在尋找一種相對於包結構來編譯我的Java程序的方法。
也就是說,有沒有什麼辦法來檢測所需的編譯(在前面的例子CH01)的頂級目錄,而不必通過該計劃尋找package
挖?
*是*正常行爲 - 你想模擬(以及爲什麼)? –
文件系統目錄結構總是反映java中的包結構。這個是正常的。請參閱http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.html – mazaneicha
@Dave Newton我的意圖是讓我的編譯腳本爲Notepad ++,gedit等檢測包結構jGRASP的方式非常無縫。 除了在程序中尋找'package'來執行此操作以外,還有其他方法嗎? – mellowmaroon