运行java程序

运行java程序,java,shell,command,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,它可以工作。假设类有包

我想用shell脚本运行一个java程序。java程序在p2目录中,它的名字是maxconnect4,我已经编译过了,类名是maxconnect4。我像这样编写shell命令:

java p2/maxconnect4 arg1 arg2 arg3

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

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


javac p2/*.java,它可以工作。

假设类有
包p2声明,这应该是可行的——尽管更标准的方法是在完全限定的类名中使用点而不是斜杠--
javap2.maxconnect

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


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

假设该类有
包p2声明,这应该是可行的——尽管更标准的方法是在完全限定的类名中使用点而不是斜杠--
javap2.maxconnect

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

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

尝试

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

请尝试使用

java p2.maxconnect4 arg1 arg2 arg3

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

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

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

您能详细说明它是如何工作的吗?您收到了什么错误消息?错误是:线程“main”java.lang.NoClassDefFoundError中出现异常:p2/maxconnect4/ClassName您能详细说明它是如何工作的吗?您收到了什么错误消息?错误是:线程“main”java.lang.NoClassDefFoundError中出现异常:p2/maxconnect4/class