【问题标题】:run a java program运行一个java程序
【发布时间】:2011-04-17 11:36:25
【问题描述】:

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

java p2/maxconnect4 arg1 arg2 arg3

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

但是,我是这样编译java程序的:

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

【问题讨论】:

  • 你能详细说明它是如何不起作用的吗?您收到了哪些错误消息?
  • 错误是:线程“main”中的异常java.lang.NoClassDefFoundError: p2/maxconnect4/class

标签: java shell command


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    试试

    java p2.maxconnect4 arg1 arg2 arg3
    

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-02-19
        • 2015-06-21
        • 1970-01-01
        • 2019-02-19
        • 1970-01-01
        • 2013-10-17
        • 1970-01-01
        相关资源
        最近更新 更多