2016-05-24 5 views
0

私は別のパッケージに分割された私のソースコードをコンパイルしようとしています。 私はソーステキストとその内部にjavaファイルのすべてのパスを書きました。 私はまた、メイクファイルを作り、以下の行を書きました:LinuxでJavaソースコードをコンパイルする

compile: bin 
    javac -d bin -cp biuoop-1.4.jar @sources.txt 
run: 
    java -cp biuoop-1.4.jar:bin Ass5Game 2 4 
bin: 
    mkdir bin 

biupoopは、私が使用している構築されたjarファイルです。

私はメイクを使った後に、コンピュータを称賛言う:

javac -d bin -cp biuoop-1.4.jar @sources.txt 
javac: file not found: animations\Animation.java 
Usage: javac <options> <source files> 
use -help for a list of possible options 
make: *** [compile] Error 2. 

私は、パッケージ内のファイルをコンパイルする方法を教えてください。

+1

あなたがからの呼び出しを発行し、現在のディレクトリがどのようなものですし、どこ源は、その場所に関連していますか? – hotzst

+0

なぜmakefileをjavaに使用していますか?それは私が推測するが、建物のJavaプロジェクトをはるかに簡単にするmavenとgradle(more https://github.com/tkruse/build-bench)のようなビルドツールがあります。 – zapl

+0

私はユーザディレクトリにあり、その中にいくつかのパッケージがある "src"ファイルを持っています。たとえば、パスの1つが「animations \ Animation.java」です。 – yairabr

答えて

5

キーは、このエラーメッセージにある:

javac: file not found: animations\Animation.java 

は、バックスラッシュに注意してください。 * nixでは、パスはスラッシュ(/)で区切られ、バックスラッシュ(\)では区切られません。 sources.txt\を代わりに/に変更すると、これが動作します(animationがそのサブディレクトリであるディレクトリでこれを実行していると仮定します)。

例ラン:

 
$ cat animation/Animation.java 
package animation; 

public class Animation { 
    public static final void main(String[] args) { 
     System.out.println("Success"); 
    } 
} 
$ cat sources.txt 
animation/Animation.java 
$ javac -d bin @sources.txt 
$ java -cp bin animation.Animation 
Success 
+0

問題は、次の行を追加する必要があるということでした:makfile – yairabr

+0

@yairabr:Yupでsrc -name "* .java"> sources.txtを見つけてください。それは間接的に、私が上記のことをします。 –

関連する問題