You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ运行Test.java正常,控制台执行java命令报找不到Car类错误

IntelliJ可正常运行但手动执行java Test.java提示找不到Car类

问题详情

在IntelliJ中点击运行按钮能正常运行Test.java,但在控制台执行java Test.java命令时出现如下错误:

.\src\Test.java:4: error: cannot find symbol
        Car car1 = new Car();
        ^
  symbol:   class Car
  location: class Test
.\src\Test.java:4: error: cannot find symbol
        Car car1 = new Car();

涉及代码如下:
Test.java:

public class Test {
    public static void main(String[] args) {
        Car car1 = new Car();
        System.out.println(car1.model);
    }
}

Car.java:

public class Car {
    String model = "Corvette";
}   

两个文件位于同一文件夹下。

原因分析

IntelliJ会自动检测并编译所有依赖的Java文件(包括Car.java),生成对应的.class文件后再运行Test类。但直接执行java Test.java时,Java编译器只会处理Test.java这一个文件,不会自动编译同一目录下的Car.java,导致运行时找不到Car类的定义。

解决方法

方法一:先编译所有依赖类再运行

  1. 编译Car.java:
javac Car.java
  1. 编译Test.java:
javac Test.java
  1. 运行Test类:
java Test

方法二:用类路径参数指定依赖查找目录(Java 11+适用)

直接运行时通过-cp(或--class-path)参数指定当前目录为类路径,让Java能找到Car类:

java -cp . Test.java

注意事项

如果你的类带有包声明(比如package com.example;),需要切换到包的根目录(比如src目录),然后用完整类名运行,同时指定类路径:

java -cp . com.example.Test

内容的提问来源于stack exchange,提问作者Solyridz3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:50:30