java文件编译使用javac无法引用同一目录中的其他文件

7xzttuei  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(622)

我正在尝试从ide(如eclipse)迁移到独立的java环境,但是在将多个文件绑定到一个项目中时遇到了问题。
以下是一些示例代码,其中两个文件位于同一目录中:
应用程序.java

package com.example.main;

public class App {
    public static void main(String[] args) {
        Example.test();
    }
}

示例.java

package com.example.main;

public class Example {
    public static void test() {
        System.out.println("It's working");
    }
}

运行时 App.java 在ide中,预期的 It's working 但是在执行之后 javac *.java 这些文件似乎互相忽略了。
下面是执行时发生的错误 java App.java 编译后:

App.java:5: error: cannot find symbol
                Example.test();
                ^
  symbol:   variable Example
  location: class App
1 error
error: compilation failed

如何在项目中编译文件,使它们相互识别?

93ze6v8z

93ze6v8z1#

如果您运行java 11及以上版本, java App.java 将编译 App.java 只是。
如果你需要介绍 Example.java ,首先需要将两个java文件编译到一个目录中。我们把它命名为“类”。命令将是 javac -d classes *.java 之后,你可以通过 java -cp classes com.example.main.App . 请注意,应用程序没有 .class 后缀
当然,如果项目变得更大或需要其他依赖项,最好使用apachemaven或gradle之类的构建工具来构建项目。

相关问题