如何使用。运行时在java类路径中

如何使用。运行时在java类路径中,java,classpath,Java,Classpath,我想在UNIX中运行一个java类,我的java类test.class位于一个名为test-java-1.0.1的文件夹中。 因此,要在UNIX中运行这个java类,我将使用以下命令: $java -cp lib.jar test-java-1.0.1/test 当我执行此操作时,获取错误为: Exception in thread "main" java.lang.NoClassDefFoundError: test-java-1/0/1/test 如何在java类路径中使用 谢谢, E

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

$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

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

在您的情况下,命令是:

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

查看以下有关使用Java和Javac编译的链接。我已经在那里给出了答案

希望这能帮助您解决问题。

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

java -cp test-java-1.0.1:lib.jar test
在Unix上,可以用冒号“:”连接多个类路径元素。在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

java-cp-test-java-1.0.1:lib.jar测试我认为应该这样做,但是不清楚您的类的名称是什么。是否经过测试且没有任何包装声明?是的。我的类名是test,它在一个文件夹test-java-1.0.1中,它在我的Debian框中工作。。。你有没有试过用\?引语来逃避经期?也没用。仍在获取类似NoClassFoundError的异常:test-java-1/0/1/test@user3218187别忘了把你的问题标为已回答。^^