怎么用。在运行时的java类路径中

时间:2014-08-11 08:57:58

标签: java classpath

我想在UNIX中运行java类,我的java类test.class位于名为 test-java-1.0.1 的文件夹中。 所以要运行这个java类,我在UNIX中使用下面的命令:

$java -cp lib.jar  test-java-1.0.1/test

当我这样做时会收到错误:

Exception in thread "main" java.lang.NoClassDefFoundError: test-java-1/0/1/test

如何在java类路径中使用.

谢谢, Eshwari

3 个答案:

答案 0 :(得分:0)

您可以使用引号来包装路径。

在您的情况下,命令将是:

java -cp lib.jar "test-java-1.0.1/test"

答案 1 :(得分:0)

请参阅以下关于使用Java编译的链接& javac的。我在那里给了答案。

  1. Compile and run Eclipse Project from command prompt
  2. Java Command line operations Example
  3. Build Eclipse Java Project from Command Line
  4. 希望这可以帮助您解决问题。

答案 2 :(得分:0)

如果您的类被调用test(没有任何包)并且生成的编译类已放在名为test-java-1.0.1的文件夹中,那么您需要将该文件夹作为类路径的一部分提及并提供java可执行文件的类名:

java -cp test-java-1.0.1:lib.jar test

在Unix上,您可以使用冒号':'连接多个classpath元素。在Windows上,您需要使用分号';'。

注意改进:

  • 您的班级名称应以大写字母开头
  • 将课程放在包装内总是更好。

例如

package my.nice.package1;

public class Test {
    // Your code here

    public static void main(String[] args) {
          // Do something
    }
}

然后调用你的课程:

java -cp test-java-1.0.1:lib.jar my.nice.package1.Test