1

私は小さなJavaプロジェクトを持っています。また、プロジェクト フォルダー内でのファイルの編成方法の構造を維持したいと考えています。

bin/res/およびの3 つのフォルダがありますsrc/。src にはすべてのソース ファイルがあります。res には、印刷されるテキストファイルなどのリソースがあり、実行時に保存されるファイルです。そして in bin は、すべてのバイナリがあるべき場所です。

-d 引数を指定してソースファイルを bin フォルダーにコンパイルできることがわかりました。

javac -d bin src/*.java

しかしjava bin/Main、プロジェクト フォルダーから実行できず、classnotfound エラーが発生します。(入っbinてから実行java Mainします。なぜですか??)

2 番目の問題は、 res ファイルが にある場合にのみアクセスできることres/ですbin/。私はEclipseのようなものを望んでいます。ソースコード ファイルでres/は、executor がプロジェクト フォルダーにあるように使用されます。

私がやろうとしていることを理解していただければ幸いです。そして、助けてくれてありがとう!

4

1 に答える 1

3

Java では、.classファイルがクラスパス ルート ディレクトリから検索可能である必要があります。したがって、クラスパスが.の場合、クラスは にあるcom.mycompany.MyClassはず./com/mycompany/MyClass.classです。-cp binしたがって、ベース ディレクトリからファイルを実行するには、コマンドライン引数を に指定してクラスパスを設定しますjava

どのようにファイルにアクセスしようとしていresますか? 上記のトリックを使用する場合、次の-cpようなもので問題ないはずですnew FileReader("res/file1.txt")binフォルダー内で実行する場合は、new FileReader("../res/file1.txt")

于 2012-10-09T23:01:52.960 に答える