繁体   English   中英

当我从命令行运行 Main 时,Java 在同一个 package 中找不到 class

[英]Java can't find class in same package when I run Main from command line

我将 class 从 Main.java 移到他们自己的 .java 文件中,现在 IDE (IntelliJ) 找不到它们,即使它们在同一个 package 中。这是 Main 的第一行...

package readability;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        var filePath = args[0];
        var textAnalyser = new TextAnalyser(filePath);

...这是我从命令行运行它时遇到的错误:

C:\Users\123md\IdeaProjects\Readability Score\Readability Score\task\src\readability>java Main.java in.txt
Main.java:8: error: cannot find symbol
        var textAnalyser = new TextAnalyser(filePath);
                               ^
  symbol:   class TextAnalyser
  location: class Main

有趣的是,当我只是说String filePath = "in.txt"并在控制台中运行它时,它确实找到了 class 并且运行正常,那么为什么当我从命令行运行它时它找不到 class? 谢谢!

您只能使用java命令运行单个*.java文件。 如果你的程序使用多个文件,你必须先编译它:

javac readability/Main.java readability/TextAnalyser.java

然后运行:

java readability.Main in.txt

有关详细信息,请参阅: https://openjdk.java.net/jeps/330

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM