使用MyEclipse编译运行程序 与 使用命令行编译运行程序
首先大家可以快速的浏览一下这篇文章:http://www.yanjiuyanjiu.com/2010/02/15/run-java-class-in-console/
?
开始我对编译路径的探讨,
首先,写一个小程序(我这个程序是不带包的,即没有package语句):
public class AquariumInSwing { public static void main(String[] args) { String myPath = System.getProperty( "java.class.path"); System.out.println(myPath); myPath = System.getProperty("user.dir"); System.out.println(myPath); File file = new File("."); System.out.println(file.getAbsolutePath()); }}
?
工程的目录是:D:\JavaWorkspace\Aquarium
.java的源文件在D:\JavaWorkspace\Aquarium\src下,
.class文件由MyEclipse编译后放在D:\JavaWorkspace\Aquarium\bin下,
使用MyEclipse编译,运行,得到的结果是(不包括--------------------------------):
--------------------------------
D:\JavaWorkspace\Aquarium\bin
D:\JavaWorkspace\Aquarium
D:\JavaWorkspace\Aquarium\.
--------------------------------
?
?因为.class文件已经在bin下了,所以,我直接在命令行下去到
(1)D:?? 转到D盘
(2)cd D:\JavaWorkspace\Aquarium\bin? 去到bin下
(3)java AquariumInSwing
得到的结果是:
--------------------------------
.;C:\Program Files\Java\jdk1.6.0_18\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_18\lib\tools.jar
D:\JavaWorkspace\Aquarium\bin
D:\JavaWorkspace\Aquarium\bin\.
--------------------------------
完全不一样嘛~~~~~
怎么会这样???!!!!!!
?
于是,我做了各宗尝试,例如,我cd到D:\JavaWorkspace\Aquarium (cd D:\JavaWorkspace\Aquarium)(bin的父目录),
然后,
java?AquariumInSwing
结果是,报错,找不到AquariumInSwing,
死心不息,java bin/AquariumInSwing,
还是报错,找不到bin/AquariumInSwing,
?
研究了一下本文开头提到的文章,我于是
cd D:\JavaWorkspace\Aquarium\
java -classpath bin AquariumInSwing
得到的结果是:
-------------------------------
bin
D:\JavaWorkspace\Aquarium\bin
D:\JavaWorkspace\Aquarium\bin\.
--------------------------------
这个看上去有点靠谱了,好了,灵机一动,
我这样:
java -classpath D:\JavaWorkspace\Aquarium\bin AquariumInSwing
终于得到了想要的结果:
----------------------------------------------------
D:\JavaWorkspace\Aquarium\bin
D:\JavaWorkspace\Aquarium
D:\JavaWorkspace\Aquarium\.
---------------------------------------------------
?
各位,是不是对classpath参数又多了一点认识。
?
最后补充一点 文件夹得名字不要有空格,例如不要把JavaWorkspace起名为Java Workspace,
否则,-classpath 参数会不正确。
大家可以试试文件夹名字多空格会有什么后果。