尝试从命令行编译 Java 时收到错误

Receiving errors when trying compile Java from command line

我正在尝试让自己摆脱 IDE 的影响——作为一名程序员变得懒惰。发帖前,我查看了这些网站,但没有帮助:

Compiling java from the command line Javac "cannot find symbol" http://www.javaprogrammingforums.com/java-ides/16906-trouble-running-java-file-windows-command-prompt.html#post71916

我的源文件路径如下:

D:\workspace\HelloWorld\src\com\dogzilla

该路径中有两个文件:Start.java...

package com.dogzilla;

public class Start{

    public Start() {

    }

    private static final String S = "Hello World";

    public static void main(String[] args) {

        HelloWorld hw = new HelloWorld();
        hw.printHelloWorld(S);
    }

}

...和HelloWorld.java

package com.dogzilla;

public class HelloWorld {

    public HelloWorld() {
    }

    public void printHelloWorld(String s){
        System.out.println(s);
    }

}

当我将目录更改为 D:\workspace\HelloWorld\com\dogzilla\src\main\java 和 运行 javac Start.java 时,出现以下错误:

Start.java:14: error: cannot find symbol
        HelloWorld hw = new HelloWorld();
        ^
  symbol:   class HelloWorld
  location: class Start
Start.java:14: error: cannot find symbol
        HelloWorld hw = new HelloWorld();
                            ^
  symbol:   class HelloWorld
  location: class Start
2 errors

所以我读到你必须指定类路径,因为 package com.dogzilla; 行。

所以我将目录更改为 D:\workspace\HelloWorld 和 运行 javac -cp com\dogzilla\src\main\java\Start.java(有趣的是,tab 键完成了路径所以我知道命令提示符正在查找 Start.java很好)它的错误是:

javac: no source files
Usage: javac <options> <source files>
use -help for a list of possible options

如何编译和 运行 这个简单的程序? IDE 隐藏了它,我在学习它时遇到了问题。

您要做的第一件事是将 java 代码编译成 class 文件。 javac命令用于此。

只要捕获所有需要编译的 java 文件,您就可以从任何地方 运行 此命令。

这会起作用:

[D:\workspace\HelloWorld\src]> javac com\dogzilla\*.java

这也适用:

[D:\workspace\HelloWorld\src\com\dogzilla] java Start.java HelloWorld.java

到运行编译代码,你使用java命令。您必须使用主 class 的完全限定名称,因此您必须在根源目录中才能执行此操作。

[D:\workspace\HelloWorld\src]> java com.dogzilla.Start