我对-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;
公共阶层研究{
int gasolina;
public Respotar (int gasolina) {
this.gasolina=gasolina;
}
public int repostar (){
int gasolina = this.gasolina +20;
return gasolina;
}}
好的,我在根目录,在那里,我有一个目录:autos/test/paquete和两个.java。
所以我编译了: javac autos/test/paquete/*..java。
然后从根目录执行: java autos.tests.paquete.MainAutos 10并且它工作了,现在我开始怀疑了:
1)我使用java -cp执行。autos.tests.paquete.Main汽车10和行为是一样的。
2)我将Respotar.class从auto/test/paquete移动到另一个目录,使用java autos.tests.paquete.MainAutos 10编译,它可以工作。
3)我将MainAutos.class从auto/test/paquete移到另一个目录,用java autos.tests.paquete.MainAutos 10编译,其内容如下:错误:无法找到或加载主类autos.tests.paquete.MainAutos
4)使用java -cp进行编译。autos.tests.paquete.MainAutos (我正在编译的当前目录中有.class,因此我认为必须使用-cp )。它也是这样写的:错误:找不到或加载主类autos.tests.paquete.MainAutos
提前谢谢你,希望有人能启发我,问候
发布于 2014-04-16 12:38:41
java用于将任何库(如jar文件)设置为当前的类路径。
对于您所展示的示例,您可以通过以下简单的方式来完成
使用以下命令从根目录编译java文件
javac -d . *.java这将创建那些适当的包,并将类文件放在它们下面。
然后使用如下命令从相同的根位置运行代码
java autos.tests.paquete.MainAutoshttps://stackoverflow.com/questions/23109332
复制相似问题