Jvm (java)找不到主类
我的代码是在OSX上编译的,运行良好(编译器版本1.6)。但当我把它复制到远程ubuntu时。我不能运行它 当我跑的时候 javatpcc.class 我得到了这样的异常。(顺便说一下,TPCC.class在默认包中) 以及我在ubuntu上的java版本:Jvm (java)找不到主类,jvm,java,Jvm,Java,我的代码是在OSX上编译的,运行良好(编译器版本1.6)。但当我把它复制到远程ubuntu时。我不能运行它 当我跑的时候 javatpcc.class 我得到了这样的异常。(顺便说一下,TPCC.class在默认包中) 以及我在ubuntu上的java版本: java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b06) Java HotSpot(TM) Client VM (build 17.0-b16,
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)
它也是1.6,我认为它适合编译的二进制文件。如何解决此问题?这是一个调用问题,错误显示:应使用java,而不是类的文件名。 错误消息试图通过声明未找到“TPCC/class”来说明这一点
(很抱歉,首先添加了注释,使用了错误的字段)在调用java时指定类路径:
java -cp <path-to-jar> TPCC
java-cp-TPCC
问题在于运行程序的方式。编译的java调用
ClassName.java
将是ClassName.class。你应该像这样运行它
“java类名”
。你不应该把它当作
“java ClassName.class”
这里发生的事情是这样的。当您以java ClassName.class的形式运行它时,JVM会尝试在名为“ClassName”的包中查找不存在的名为“class”的类名。因此,它将抛出NoClassDefFoundError。尝试
java TPCC
,而不是java TPCC.class
,正如phs所示,调用命令似乎是问题所在,看起来它根本不在类路径中,并且没有版本问题。
java -cp <path-to-jar> TPCC