簡體   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