- 浏览: 9811 次
- 性别:
- 来自: 厦门
文章分类
最新评论
javac 的classpath用法小结:
1、-cp与-classpath
这两个是代表相同的含义。指的是你的待编译的java文件用到的其他class文件存放的地方。如果有多个的话,以分号分割。
2、-verbose
将会显示javac是如何执行编译的过程显示出来。
需要特别注意的是,源文件逻辑所在包的层次与源文件在硬盘上实际存放的文件夹的层次的对应关系是一致的。如有一个Pawn.java文件,在chess.pieces包里。那么,该java文件肯定是放在某个路径的\chess\pieces文件夹下。如果还有一个Board.java文件,在包chess内,那么肯定在\chess文件夹下。如果Board.java用到了Pawn类,那么,就需要在Board.java内添加import chess.pieces.*;这个都知道了,现在主要问题是,该在哪一个文件路径层次来编译这个Board.java,需要为-classpath指定什么参数。这个还是回到包的层次与实际文件夹的层次的对应关系的问题:在编译器看到import chess.pieces.*的时候,会把chess.pieces翻译成2层的文件夹,即\chess\pieces,然后去这个文件夹路径下查找class文件。假设Pawn.java已经编译成为了Pawn.class文件(这个由于比较传统,一般都不会产生问题),现在来编译Board.java。如果是在chess文件夹下来编译(即cmd窗口的当前路径是..\chess),那么在编译器处理“import chess.pieces.*;”的时候,会在当前的文件夹下(chess)找chess\pieces文件夹。但是很明显,现在已经是在chess文件夹下了,只需去pieces下找就行了,这就肯定找不到,因为不存在..\chess\chess\pieces,只有..chess\pieces。所以需要在chess的上一层文件夹下来编译,这样,其\chess\pieces才会真正定位到Pawn.class所在的文件夹下。javac -classpath . chess\*.java 这条指令才会执行成功。了解包的层次与实际文件夹的层次的对应关系是关键(注意到一个小圆点,代表当前路径)。我们也可以思考:如果我就想在chess文件夹下编译,难道不可以吗?-classpath就是要指定一个搜索路径,难道不能用吗?可以的,即把classpath指定为一个固定的文件路径,如我的chess文件夹是在e:\practice文件夹下,那么,我就可以这样指定:javac -classpath e:\practice chess\*.java 这同样指定了chess的父路径,编译器会从这个父路径为起点,找chess\pieces文件夹,从而找到相关的class文件来装入。还有一个方法:在chess文件夹下在新建chess\pieces文件夹(即e:\practice\chess\chess\pieces),并且把原pieces的java文件编译后得到的class文件放在此处(可以用-d选项,或直接拷贝进去),然后在e:\practice\chess下来执行javac -classpath . chess\*.java这条编译指令。这样也能编译成功,因为在当前的chess文件夹下确实存在了chess\pieces文件夹,而且里面包含了所需要的class文件。像上面的javac -classpath e:\practice chess\*.java 编译指令,其实可以在任何路径下执行(当然后面的*.java要指定正确的路径),因为都是固定的路径。那么,为什么要用".",而不是用固定的路径呢?因为源文件存放的地方除了包的层次与文件夹层次一致外,可以在任何地方存放,如我的chess下的源文件我可以不放在e:\practice下,我可以放在f:\mypractice下,等等。用"."就可以灵活的定位当前的路径。这也是我们在安装jdk时,设置classpath要把"."加进去的原因。(现在的jdk1.6我就知道不需要设置classpath了,因为其javac已经设置了自动去jdk的安装路径找了——JAVA_HOME还是要的)。
下面是一些成功或失败的编译指令执行的过程,以供参考:
E:\practice>javac -verbose -classpath e:\practice;e:\junit4.8.2\junit-4.8.2.jar
chess\*.java
[解析开始时间 chess\AllTests.java]
[解析已完成时间 32ms]
[解析开始时间 chess\Board.java]
[解析已完成时间 0ms]
[解析开始时间 chess\BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\practice,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\practice,e:\junit4.8.2\junit-4
.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 e:\practice\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 e:\practice\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 chess\AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 chess\Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 chess\BoardTest.class]
[总时间 484ms]
E:\practice>cd chess
E:\practice\chess>javac -verbose -classpath e:\practice;e:\junit4.8.2\junit-4.8.
2.jar *.java
[解析开始时间 AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 Board.java]
[解析已完成时间 0ms]
[解析开始时间 BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\practice,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\practice,e:\junit4.8.2\junit-4
.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 e:\practice\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 e:\practice\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 BoardTest.class]
[总时间 485ms]
E:\practice\chess>javac -verbose -classpath e:\junit4.8.2\junit-4.8.2.jar *.java
[解析开始时间 AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 Board.java]
[解析已完成时间 0ms]
[解析开始时间 BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\junit4.8.2\junit-4.8.2.jar]
AllTests.java:2: 软件包 chess.pieces 不存在
import chess.pieces.*;
^
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
Board.java:3: 软件包 chess.pieces 不存在
import chess.pieces.*;
^
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
Board.java:8: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
private ArrayList<Pawn> allPawns=new ArrayList<Pawn>();
^
Board.java:17: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
public void addPawn(Pawn pawn){
^
Board.java:20: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
public Pawn getPawn(int index){
^
BoardTest.java:3: 软件包 chess.pieces 不存在
import chess.pieces.*;
^
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
AllTests.java:7: 找不到符号
符号: 类 PawnTest
位置: 类 chess.AllTests
suite.addTestSuite(PawnTest.class);
^
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[正在检查 chess.Board]
Board.java:8: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
private ArrayList<Pawn> allPawns=new ArrayList<Pawn>();
^
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
BoardTest.java:10: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn firstPawn=new Pawn();
^
BoardTest.java:10: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn firstPawn=new Pawn();
^
BoardTest.java:14: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn secondPawn=new Pawn(black);
^
BoardTest.java:14: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn secondPawn=new Pawn(black);
^
[总时间 485ms]
12 错误
E:\practice\chess>javac -verbose -classpath .;e:\junit4.8.2\junit-4.8.2.jar *.ja
va
[解析开始时间 AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 Board.java]
[解析已完成时间 0ms]
[解析开始时间 BoardTest.java]
[解析已完成时间 16ms]
[源文件的搜索路径: .,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,.,e:\junit4.8.2\junit-4.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 .\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 .\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 BoardTest.class]
[总时间 485ms]
E:\>javac -verbose -classpath e:\practice;e:\junit4.8.2\junit-4.8.2.jar e:\pract
ice\chess\*.java
[解析开始时间 e:\practice\chess\AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 e:\practice\chess\Board.java]
[解析已完成时间 0ms]
[解析开始时间 e:\practice\chess\BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\practice,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\practice,e:\junit4.8.2\junit-4
.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 e:\practice\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 e:\practice\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 e:\practice\chess\AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 e:\practice\chess\Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 e:\practice\chess\BoardTest.class]
[总时间 593ms]
1、-cp与-classpath
这两个是代表相同的含义。指的是你的待编译的java文件用到的其他class文件存放的地方。如果有多个的话,以分号分割。
2、-verbose
将会显示javac是如何执行编译的过程显示出来。
需要特别注意的是,源文件逻辑所在包的层次与源文件在硬盘上实际存放的文件夹的层次的对应关系是一致的。如有一个Pawn.java文件,在chess.pieces包里。那么,该java文件肯定是放在某个路径的\chess\pieces文件夹下。如果还有一个Board.java文件,在包chess内,那么肯定在\chess文件夹下。如果Board.java用到了Pawn类,那么,就需要在Board.java内添加import chess.pieces.*;这个都知道了,现在主要问题是,该在哪一个文件路径层次来编译这个Board.java,需要为-classpath指定什么参数。这个还是回到包的层次与实际文件夹的层次的对应关系的问题:在编译器看到import chess.pieces.*的时候,会把chess.pieces翻译成2层的文件夹,即\chess\pieces,然后去这个文件夹路径下查找class文件。假设Pawn.java已经编译成为了Pawn.class文件(这个由于比较传统,一般都不会产生问题),现在来编译Board.java。如果是在chess文件夹下来编译(即cmd窗口的当前路径是..\chess),那么在编译器处理“import chess.pieces.*;”的时候,会在当前的文件夹下(chess)找chess\pieces文件夹。但是很明显,现在已经是在chess文件夹下了,只需去pieces下找就行了,这就肯定找不到,因为不存在..\chess\chess\pieces,只有..chess\pieces。所以需要在chess的上一层文件夹下来编译,这样,其\chess\pieces才会真正定位到Pawn.class所在的文件夹下。javac -classpath . chess\*.java 这条指令才会执行成功。了解包的层次与实际文件夹的层次的对应关系是关键(注意到一个小圆点,代表当前路径)。我们也可以思考:如果我就想在chess文件夹下编译,难道不可以吗?-classpath就是要指定一个搜索路径,难道不能用吗?可以的,即把classpath指定为一个固定的文件路径,如我的chess文件夹是在e:\practice文件夹下,那么,我就可以这样指定:javac -classpath e:\practice chess\*.java 这同样指定了chess的父路径,编译器会从这个父路径为起点,找chess\pieces文件夹,从而找到相关的class文件来装入。还有一个方法:在chess文件夹下在新建chess\pieces文件夹(即e:\practice\chess\chess\pieces),并且把原pieces的java文件编译后得到的class文件放在此处(可以用-d选项,或直接拷贝进去),然后在e:\practice\chess下来执行javac -classpath . chess\*.java这条编译指令。这样也能编译成功,因为在当前的chess文件夹下确实存在了chess\pieces文件夹,而且里面包含了所需要的class文件。像上面的javac -classpath e:\practice chess\*.java 编译指令,其实可以在任何路径下执行(当然后面的*.java要指定正确的路径),因为都是固定的路径。那么,为什么要用".",而不是用固定的路径呢?因为源文件存放的地方除了包的层次与文件夹层次一致外,可以在任何地方存放,如我的chess下的源文件我可以不放在e:\practice下,我可以放在f:\mypractice下,等等。用"."就可以灵活的定位当前的路径。这也是我们在安装jdk时,设置classpath要把"."加进去的原因。(现在的jdk1.6我就知道不需要设置classpath了,因为其javac已经设置了自动去jdk的安装路径找了——JAVA_HOME还是要的)。
下面是一些成功或失败的编译指令执行的过程,以供参考:
E:\practice>javac -verbose -classpath e:\practice;e:\junit4.8.2\junit-4.8.2.jar
chess\*.java
[解析开始时间 chess\AllTests.java]
[解析已完成时间 32ms]
[解析开始时间 chess\Board.java]
[解析已完成时间 0ms]
[解析开始时间 chess\BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\practice,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\practice,e:\junit4.8.2\junit-4
.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 e:\practice\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 e:\practice\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 chess\AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 chess\Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 chess\BoardTest.class]
[总时间 484ms]
E:\practice>cd chess
E:\practice\chess>javac -verbose -classpath e:\practice;e:\junit4.8.2\junit-4.8.
2.jar *.java
[解析开始时间 AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 Board.java]
[解析已完成时间 0ms]
[解析开始时间 BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\practice,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\practice,e:\junit4.8.2\junit-4
.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 e:\practice\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 e:\practice\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 BoardTest.class]
[总时间 485ms]
E:\practice\chess>javac -verbose -classpath e:\junit4.8.2\junit-4.8.2.jar *.java
[解析开始时间 AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 Board.java]
[解析已完成时间 0ms]
[解析开始时间 BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\junit4.8.2\junit-4.8.2.jar]
AllTests.java:2: 软件包 chess.pieces 不存在
import chess.pieces.*;
^
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
Board.java:3: 软件包 chess.pieces 不存在
import chess.pieces.*;
^
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
Board.java:8: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
private ArrayList<Pawn> allPawns=new ArrayList<Pawn>();
^
Board.java:17: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
public void addPawn(Pawn pawn){
^
Board.java:20: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
public Pawn getPawn(int index){
^
BoardTest.java:3: 软件包 chess.pieces 不存在
import chess.pieces.*;
^
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
AllTests.java:7: 找不到符号
符号: 类 PawnTest
位置: 类 chess.AllTests
suite.addTestSuite(PawnTest.class);
^
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[正在检查 chess.Board]
Board.java:8: 找不到符号
符号: 类 Pawn
位置: 类 chess.Board
private ArrayList<Pawn> allPawns=new ArrayList<Pawn>();
^
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
BoardTest.java:10: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn firstPawn=new Pawn();
^
BoardTest.java:10: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn firstPawn=new Pawn();
^
BoardTest.java:14: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn secondPawn=new Pawn(black);
^
BoardTest.java:14: 找不到符号
符号: 类 Pawn
位置: 类 chess.BoardTest
Pawn secondPawn=new Pawn(black);
^
[总时间 485ms]
12 错误
E:\practice\chess>javac -verbose -classpath .;e:\junit4.8.2\junit-4.8.2.jar *.ja
va
[解析开始时间 AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 Board.java]
[解析已完成时间 0ms]
[解析开始时间 BoardTest.java]
[解析已完成时间 16ms]
[源文件的搜索路径: .,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,.,e:\junit4.8.2\junit-4.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 .\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 .\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 BoardTest.class]
[总时间 485ms]
E:\>javac -verbose -classpath e:\practice;e:\junit4.8.2\junit-4.8.2.jar e:\pract
ice\chess\*.java
[解析开始时间 e:\practice\chess\AllTests.java]
[解析已完成时间 31ms]
[解析开始时间 e:\practice\chess\Board.java]
[解析已完成时间 0ms]
[解析开始时间 e:\practice\chess\BoardTest.java]
[解析已完成时间 0ms]
[源文件的搜索路径: e:\practice,e:\junit4.8.2\junit-4.8.2.jar]
[类文件的搜索路径: E:\Program Files\Java\jdk1.6.0_10\jre\lib\resources.jar,E:\P
rogram Files\Java\jdk1.6.0_10\jre\lib\rt.jar,E:\Program Files\Java\jdk1.6.0_10\j
re\lib\sunrsasign.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\jsse.jar,E:\Prog
ram Files\Java\jdk1.6.0_10\jre\lib\jce.jar,E:\Program Files\Java\jdk1.6.0_10\jre
\lib\charsets.jar,E:\Program Files\Java\jdk1.6.0_10\jre\classes,E:\Program Files
\Java\jdk1.6.0_10\jre\lib\ext\dnsns.jar,E:\Program Files\Java\jdk1.6.0_10\jre\li
b\ext\sunjce_provider.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunmscap
i.jar,E:\Program Files\Java\jdk1.6.0_10\jre\lib\ext\sunpkcs11.jar,E:\Program Fil
es\Java\jdk1.6.0_10\jre\lib\ext\localedata.jar,e:\practice,e:\junit4.8.2\junit-4
.8.2.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 junit\framework\TestSuite.class(junit\framework:TestSuite.class)]
[正在装入 java\util\ArrayList.class(java\util:ArrayList.class)]
[正在装入 e:\practice\chess\pieces\Pawn.class]
[正在装入 junit\framework\TestCase.class(junit\framework:TestCase.class)]
[正在装入 junit\framework\Test.class(junit\framework:Test.class)]
[正在装入 junit\framework\Assert.class(junit\framework:Assert.class)]
[正在检查 chess.AllTests]
[正在装入 e:\practice\chess\pieces\PawnTest.class]
[正在装入 java\lang\Class.class(java\lang:Class.class)]
[已写入 e:\practice\chess\AllTests.class]
[正在检查 chess.Board]
[正在装入 java\util\Collection.class(java\util:Collection.class)]
[正在装入 java\util\AbstractList.class(java\util:AbstractList.class)]
[正在装入 java\util\AbstractCollection.class(java\util:AbstractCollection.class)
]
[已写入 e:\practice\chess\Board.class]
[正在检查 chess.BoardTest]
[正在装入 java\lang\String.class(java\lang:String.class)]
[已写入 e:\practice\chess\BoardTest.class]
[总时间 593ms]
相关推荐
#### 小结 正确配置`JAVA_HOME`、`path`和`classpath`对于搭建Java开发环境至关重要。这些环境变量不仅简化了开发过程中的路径引用,提高了系统的兼容性和稳定性,还为后续的项目开发提供了基础支持。通过上述步骤...
### Java语言基础小结 #### 一、JDK, JRE, JVM的关系 - **JVM(Java Virtual Machine)**:Java虚拟机是Java程序跨平台运行的核心,它负责执行Java字节码(.class文件),确保Java程序可以在不同的平台上运行而...
#### 小结 1. **包的作用**:主要避免变量命名冲突,同时提供了一种组织代码的方式。 2. **包的声明**:使用`package`关键字,并将Java源文件置于与包名一致的目录结构中。 3. **编译与路径**:使用`javac`命令时,...
#### 六、小结 正确配置`java_home`, `path`和`classpath`是搭建Java开发环境的重要步骤。它们不仅帮助开发者简化了路径引用,还保证了开发环境的稳定性和兼容性。通过遵循上述指南,可以轻松地为自己的计算机配置...
#### 四、小结 正确配置JDK环境对于Java开发至关重要。本文详细介绍了在Windows 7系统下安装和配置JDK 6的过程,以及如何验证配置是否成功。通过遵循这些步骤,您可以确保开发环境能够顺利地运行Java程序。此外,还...
《Java基础小结》 Java,作为一种广泛应用的编程语言,以其跨平台、面向对象的特点深受开发者喜爱。这篇博文和随附的PDF笔记旨在总结Java的基础知识,帮助初学者巩固理解,同时也为有经验的开发者提供回顾参考。 1...
1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)-...public class及class的声明:一个java文件中只能有一个public class的声明,但是允许有多个class,使用的时候直接要使用主方法所在的类
### 小结 通过上述介绍,我们可以看到这些环境变量在配置Java开发环境时的重要性。合理设置这些变量不仅能够简化开发流程,还能提高程序的稳定性和可移植性。希望本文能帮助读者更好地理解和掌握这些基本概念。
### ANT基础学习小结 #### 一、Ant简介与应用场景 Apache Ant 是一个Java环境下的构建工具,主要用于软件编译、测试、部署等自动化任务。它通过XML来定义构建过程,使得开发者能够轻松地管理项目的构建流程。在很...
### 小结 综上所述,正确配置`JAVA_HOME`、`classpath`和`path`这三个环境变量对于Java开发至关重要。它们不仅确保了Java程序的正常编译和运行,还为开发者提供了便捷的工作环境。为了确保开发过程中不会遇到由于...
#### 四、小结 通过以上步骤,初学者可以顺利完成Java环境变量的配置。需要注意的是,在不同操作系统下,环境变量的具体设置方法可能会有所不同,但基本思路是一致的。此外,随着技术的发展,一些现代的集成开发...
- **设定PATH与CLASSPATH**:配置环境变量,确保命令行可以使用`java`和`javac`命令。 - **验证JDK是否安装成功**:在命令行中运行`java -version`来确认。 - **下载Eclipse**:选择适合自己的Eclipse版本进行...
3. **小结**: - Java程序的基本结构包括类定义、主函数main()等。 - 程序执行的入口是public static void main(String[] args)方法。 #### 五、注释 1. **单行注释**:使用`//`注释一行。 2. **多行注释**:使用...
#### 五、小结 通过上述步骤,可以确保在Windows环境下成功配置Java环境变量。这对于开发者来说非常重要,因为它能够使Java开发变得更加高效便捷。此外,正确设置环境变量还能避免许多常见的编译和运行时错误,提高...
#### 五、小结 通过以上步骤,可以完成JDK环境变量的基本配置,使开发者能够在命令行下顺利使用Java相关的命令。这对于Java开发人员来说是非常基础且重要的操作之一。此外,还介绍了常见的问题及解决方法,帮助遇到...
3. **编译和运行Java程序**:编写一个简单的Java程序,如上述示例中的`Greetings.java`,然后在命令行中切换到该文件所在的目录,使用`javac Greetings.java`编译程序,接着使用`java Greetings`运行程序。...
### 小结 通过以上介绍,我们了解到`JAVA_HOME`、`PATH`和`CLASSPATH`这三个关键环境变量对于Java环境的重要性及其具体配置方法。正确配置这些环境变量可以确保Java应用程序能够在各种情况下顺利运行。希望本文能...
#### 七、小结 - JSP2.0及其相关的技术如EL、Servlet等构成了现代Java Web开发的基础。通过学习这些技术,开发者可以更好地理解Java Web应用的工作原理,并掌握如何构建高质量的Web应用。此外,深入学习这些技术还将...
### 小结 通过以上步骤,可以完成JAVA环境的基本搭建。需要注意的是,在进行开发时,还需要考虑IDE的选择与配置,例如Eclipse、IntelliJ IDEA等。此外,随着技术的发展,还可以考虑使用如Maven、Gradle等构建工具来...