java - 当我当前的工作目录不是默认包时,如何编译文件?

标签 java linux

我在 Linux 中有两个文件,都在默认包中,AddSingleInstance.javaFinder.java

我正在 Finder 中创建 AddSingleInstance 的实例:

AddSingleInstance ai = new AddSingleInstance();

当我编译 Finder.java 文件时出现以下错误:

Finder.java:20: error: cannot find symbol
AddSingleInstance ai = new AddSingleInstance();
    ^

我正在从不同的目录编译。如何让这两个文件都成功编译?

最佳答案

要解决您的问题,您的 java 文件应该位于您的类路径中,以便 javac 知道在哪里可以找到它们。您可以手动设置类路径:

javac -classpath javadir javadir\Finder.java
java -cp javadir Finder

或者使用默认类路径.:$PATH。最简单的方法是

cd javadir
javac Finder.java
java Finder

我想大多数人不会遇到这个问题(我以前从来没有遇到过!),因为他们从他们的默认包(他们的源代码树的根目录)运行 javac

关于java - 当我当前的工作目录不是默认包时,如何编译文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23256428/

相关文章:

java - Guava MapMaker和JDK ConcurrentMap是否使用读/写锁?

java - 如何检查数组中的确切元素是否包含在 ArrayList 中存储的数组中?

java - MultipartFile 每次都返回 null

c - C语言函数如何判断文件是否为elf文件?

java - 在 Mac 上将 JFrame 与 Netbeans 结合使用

java - Selenium Webdriver 过时元素异常错误

linux - Amazon Linux EC2 安装 SSL(无连接)

c - 在 Linux 上嗅探数据包时过滤网络堆栈中的数据包?

c - 如何读取procfs文件?

c - 我如何覆盖加载了 dlopen 的库中的全局符号?