【问题标题】:can not run java program from command line which resides in package无法从位于包中的命令行运行 java 程序
【发布时间】:2012-07-02 09:04:57
【问题描述】:

查看以下代码,位于填充目录中

mypack.pack1

package mypack.pack1;

public class myclass
{
    public static void main(String args[])
    {
        System.out.println("KKKKKKKKKKKKKKKKKKKKKKKKKKKKKK");
    }
}

请参阅以下屏幕截图。那是错误的。

我不想在类路径中添加任何内容,因为我在特定目录中并且它必须工作。

为什么它不起作用.??????

【问题讨论】:

  • 运行javac myclass.java
  • 从 F: 目录而不是文件夹 pack1 执行它
  • 是的,你是对的,它正在工作。谢谢。

标签: java command-line command-prompt


【解决方案1】:

要执行包mypack.pack1中的主类myClass,命令是

java mypack.pack1.myClass

但是包含包树根的目录(或jar)(即包含mypack的目录)必须在类路径中,以便java找到该类。所以在你的情况下完整的命令是

java -cp F:\ mypack.pack1.myClass

而且这个命令可以从你想要的任何目录运行。

旁注:按照惯例,Java 中的所有 Java 类都以大写字母开头。您的班级应命名为 MyClass 以遵守这些约定。

【讨论】:

    【解决方案2】:

    它不起作用,因为您已经在该目录下 (mypack\pack1)。

    运行它
    F:\ directory 
    

    【讨论】:

      【解决方案3】:

      你需要从F:\目录运行它

      【讨论】:

        【解决方案4】:

        解决方案 1: 在命令提示符下运行:

        javac myclass.java
        java myclass
        

        解决方案 2: 在命令提示符下运行:

        cd ..
        cd..
        javac mypack.pack1.myclass.java
        java mypack.pack1.myclass
        

        问题是您已经在F:\mypack\pack1 目录中。所以你不需要指定mypack.pack1.myclass。如果你想以同样的方式运行它,直接从 F: 目录运行它。我的意思是执行cd.. 2 次并运行你的命令。

        【讨论】:

        • 你需要类的完全限定名才能运行它。
        猜你喜欢
        • 2021-10-26
        • 1970-01-01
        • 2012-04-10
        • 1970-01-01
        • 1970-01-01
        • 2013-10-26
        • 1970-01-01
        相关资源
        最近更新 更多