【发布时间】:2014-04-16 12:21:09
【问题描述】:
我对 -cp 以及何时应该使用它有疑问。这是我的场景: 我有两个.java,第一个:
包 autos.tests.paquete;
公共类 MainAutos {
public static void main(String args[]) {
int x = Integer.parseInt(args[0]);
Respotar objeto1 = new Respotar (x);
int mostrar = objeto1.repostar();
System.out.println(mostrar);
} }
第二个:
包 autos.tests.paquete;
公共类 Respotar {
int gasolina;
public Respotar (int gasolina) {
this.gasolina=gasolina;
}
public int repostar (){
int gasolina = this.gasolina +20;
return gasolina;
}
}
嗯,我在根目录,在那里,我有那个目录:autos/tests/paquete .java.
所以我编译: javac autos/tests/paquete/*.java
并从根目录执行: java autos.tests.paquete.MainAutos 10 它有效,现在我的疑惑是:
1) 我使用 java -cp 执行。 autos.tests.paquete.Main autos 10 和行为是一样的。
2) 我将 Respotar.class 从 auto/tests/paquete 移动到另一个目录,我用 java autos.tests.paquete.MainAutos 10 就可以了。
3) 我将 MainAutos.class 从 auto/tests/paquete 移动到另一个目录,我用 java autos.tests.paquete.MainAutos 10 它说:错误:无法找到或加载主类 autos.tests.paquete.MainAutos
4) 我用 java -cp 编译。 autos.tests.paquete.MainAutos (我正在编译的当前目录中有 .class ,所以我想我必须使用 -cp 。)它说的是一样的: 错误:无法找到或加载主类 autos.tests.paquete.MainAutos
先谢谢了,希望有人能赐教,问候
【问题讨论】:
标签: java compilation classpath execution