关于shell:运行一个java程序

run a java program

我想用shell脚本运行一个Java程序。Java程序是在P2目录中,它的名字是Max连接4,我已经编译了它,类名是Max连接4。我这样编写shell命令:

Java P2/Max连接器4 ARG1 ARG2 ARG3

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

但是,我用这种方式编译Java程序:

Javac P2/*.java,它工作。


假设该类已经声明了package p2;,那么这应该是可行的——尽管更标准的方法是在完全限定的类名中使用点而不是斜线——java p2.maxconnect

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

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


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


尝试用

1
java p2.maxconnect4 arg1 arg2 arg3

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