こんにちは、みんな。私は Eckel を勉強していて、パッケージのコンパイルを理解しようとしていますが、本の例の説明が不十分で、インターネット上で良い情報が見つからなかったので、ここの達人に何が問題なのか教えてもらいました。 。
一般に、access フォルダーがあり、その中にファイル LibTest.java があり、その内容は次のとおりです。
」というエラーが表示されます。別のコマンドでコンパイルしてみました。たとえば、 環境変数が設定されており、パス C:\Program Files がパス \Java\jdk1.7.0_60\bin に追加され、D:\Work\Java\stud が CLASSPATH に追加されています。何が間違っているのでしょう か、私が理解しているところによると、コンパイラはパッケージ ファイルを取得しないのはなぜですか? CLASSPATH でパッケージ ファイルを探す必要があります。
一般に、access フォルダーがあり、その中にファイル LibTest.java があり、その内容は次のとおりです。
//: access/LibTest.java // Uses the library. import net.mindview.simple.*; public class LibTest { public static void main(String[] args) { Vector v = new Vector(); List l = new List(); } } /* Output: net.mindview.simple.Vector net.mindview.simple.List *///:~
access フォルダーと同じレベルにパッケージ net/mindview/simple があり、simple フォルダー内にファイル List があります。 java
//: net/mindview/simple/List.java // Creating a package. package net.mindview.simple; public class List { public List() { System.out.println("net.mindview.simple.List"); } } ///:~
と Vector.java ファイル
//: net/mindview/simple/Vector.java // Creating a package. package net.mindview.simple; public class Vector { public Vector() { System.out.println("net.mindview.simple.Vector"); } } ///:~
Vector.java および List.java ファイルは正常にコンパイルされますが、LibTest.java をコンパイルしようとすると、「LibTest.java:3: error: package net.mindview.simple doesn't own
」というエラーが表示されます。別のコマンドでコンパイルしてみました。たとえば、 環境変数が設定されており、パス C:\Program Files がパス \Java\jdk1.7.0_60\bin に追加され、D:\Work\Java\stud が CLASSPATH に追加されています。何が間違っているのでしょう か、私が理解しているところによると、コンパイラはパッケージ ファイルを取得しないのはなぜですか? CLASSPATH でパッケージ ファイルを探す必要があります。
javac LibTest.java
javac -classpath . LibTest.java
javac D:/Work/Java/stud/access/LibTest.java
GO TO FULL VERSION