【问题标题】:Execution Java -cp执行Java -cp
【发布时间】: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


    【解决方案1】:

    java -cp 用于将任何库(例如 jar 文件)设置为您当前的类路径。

    对于您展示的示例,您可以通过以下简单方式进行操作

    从你的根目录使用下面的命令编译你的java文件

    javac -d . *.java
    

    这将创建那些适当的包并将类文件放在它们下面

    然后在同一个根位置使用这样的命令运行你的代码

    java autos.tests.paquete.MainAutos
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-17
      • 2018-09-16
      • 1970-01-01
      • 2012-08-08
      • 2018-03-23
      • 2016-08-11
      • 2018-02-04
      相关资源
      最近更新 更多