运行一个java程序

时间:2010-09-26 18:12:55

标签: java shell command

我想使用shell脚本运行java程序。 java程序在p2目录中,其名称为maxconnect4,我已编译它,类名为maxconnect4。我写这样的shell命令:

java p2 / maxconnect4 arg1 arg2 arg3

此shell命令不起作用。 它给出了一个错误:线程“main”中的异常java.lang.NoClassDefFoundError:p2 / maxconnect

但是,我以这种方式编译java程序:

javac p2 / * .java,它有效。

3 个答案:

答案 0 :(得分:2)

假设该类已声明package p2;,那应该有效 - 尽管更标准的方法是在完全限定的类名中使用点而不是斜杠 - java p2.maxconnect

如果课程没有包裹声明,请尝试java -cp p2 maxconnect。您需要指定一个类路径,以便在顶层找到类文件。

如果类有其他包声明,则需要将其放入与其包匹配的文件夹中。

答案 1 :(得分:1)

尝试

java p2.maxconnect4 arg1 arg2 arg3

此外,您可以尝试检查类名,并验证文件p2 / maxconnect4.class是否存在。

答案 2 :(得分:1)

只需使用java -cp p2 maxconnect4 arg1 arg2 arg3即可。 -cp设置JVM的类路径。编辑:我假设您没有使用maxconnect4的包。