jGRASPを使用しているうちに、パッケージ内のプログラムの出力が通常とわずかに異なっていることがわかりました。特に、プログラム名はクラスの先頭から相対パスになりました。Javaコンパイル、パッケージ、および相対パス
javac -g ch01\stacks\ArrayStack.java
と同様に表示されて、実行出力:
は例えば、声明package ch01.stacks;
を含んでJavaプログラムのために、コンパイルの出力は次のようになります。
Notepad ++やgeditなど、プログラムをコンパイルするためのスクリプトを設定できる他のプログラムでこの動作をシミュレートする方法が比較的簡単かどうかは疑問でした。
編集:お詫び申し上げますが、私が言っているコンパイルスクリプトは基本的にはjavacに渡されたプログラムファイル名であることを忘れています。むしろ絶対パスを使用するのではなく、スクリプトをjGRASPと同じように動作させたいと思っています。
私の現在のスクリプトで問題をさらに明確にするために、プログラムの現在のディレクトリでコンパイルされているので、パッケージ構造が私に問題を与えていると思います。私はパッケージ構造に関してJavaプログラムを比較的コンパイルする方法を探しています。ある
、package
を探してプログラムを介して掘ることなく、コンパイル(前の例ではCH01)のために必要な最上位ディレクトリを検出する方法はありますか?
これは*通常の動作です。シミュレーションしたいもの(とその理由)は何ですか? –
ファイルシステムのディレクトリ構造は、常にjavaのパッケージ構造を反映します。これは正常です。 http://download.oracle.com/javase/1.4.2/docs/tooldocs/windows/javac.htmlを参照してください。 – mazaneicha
@Dave Newton私のメモは、Notepad ++、geditなどのコンパイル・スクリプトでパッケージ構造を検出することです。 way jGRASPはむしろシームレスに機能します。 これを行うプログラムで 'package'を探す以外の方法はありますか? – mellowmaroon