1

たくさんの Java ファイルがあり、それらをコンパイルするために次のコードを実行しています。

"\Program Files\Java\jdk1.6.0_16\bin\javac" Main.java

そして、このエラーメッセージが表示されています

Main.java:3: package colourtiler.patternsdoes not exist 
import colourtiler.patterns.draw;

参照しているコードはフォルダーpatters/PatternColour.javaにありますが、このファイルを含めるにはどうすればよいですか?

ありがとう

4

5 に答える 5

6

-cpそのパスを javac/java のor-classpath引数に含める必要があります。例えば

javac -cp .;c:/path/to/colourtiler/patterns/draw Main.java

wherec:/path/to/colourtiler/patterns/drawは、依存関係クラスのパッケージ ルートを指します。それ以上ある場合は、セミコロンで区切る必要があります。パスにスペースがある場合は、個々のパスを引用する必要があります。または、JAR ファイルにパッケージ化して (または既にパックされたものを使用して)、クラスパスに JAR ファイルへの完全なファイル パスを配置することもできます。

クラスパスの収集と入力に飽きたら、バッチ/シェル ファイルの使用を検討してください。

幸運を。

于 2009-11-04T14:26:50.377 に答える
3

-classpath (別名-cp ) または-sourcepath引数を使用して、ベース ソースの場所を設定します。-classpath引数を使用して、バイナリの依存関係 (jar ファイルまたはベース .class ファイル ディレクトリ) を指定します。-d引数を使用して、出力ディレクトリを指定します。

注意すべきことの 1 つは、名前空間 (パッケージ) がディレクトリ構造と一致している必要があることです。

C:\temp>dir /B /S
C:\temp\bin
C:\temp\foo
C:\temp\src
C:\temp\src\foo
C:\temp\src\foo\Bar.java
C:\temp\src\foo\Baz.java

C:\temp>type src\foo\Bar.java
package foo;
public class Bar extends Baz {}

C:\temp>javac -cp .\src -d .\bin src\foo\Bar.java

C:\temp>dir /B /S
C:\temp\bin
C:\temp\foo
C:\temp\src
C:\temp\bin\foo
C:\temp\bin\foo\Bar.class
C:\temp\bin\foo\Baz.class
C:\temp\src\foo
C:\temp\src\foo\Bar.java
C:\temp\src\foo\Baz.java

宣言するクラス ファイルpackage foo;は、ディレクトリにある必要がありますfoo。宣言するクラスファイルpackage foo.foo;は、ディレクトリなどにある必要がありますfoo\foo

javacのドキュメントを参照してください。詳細なドキュメントについては、こちらを参照してください。classpath

于 2009-11-04T14:45:18.687 に答える
0

Eclipse をインストールし、(インポート機能を使用して) Eclipse プロジェクトとしてクラスを含むフォルダーを構成することで、多くの時間を節約できます。

必要な JAR ライブラリ、出力フォルダーなどを引数として渡す必要がなくなります。

于 2009-11-04T15:24:26.533 に答える
0

確かにファイルのリストを確認する必要がありますが、colortiler/patterns にあるはずです。

于 2009-11-04T14:25:10.177 に答える
0

最初にコンパイルpatters/PatternColour.javaしてから、コンパイル時に結果のクラスの場所をクラスパスに追加する必要がありますMain.java

于 2009-11-04T14:25:24.373 に答える