使用命令行从 "wrong" 目录执行 Java class 文件
Executing a Java class file using the command line, but from the "wrong" directory
App.java
是目录 /home/abcd
中的一个简单的“Hello World”应用程序,并且是程序包 abcd
的一部分;也就是说,它有一个 header package abcd;
。我可以轻松地编译和 运行 应用程序,从 /home
目录 javac abcd/App.java
和 运行 从上层(即 /home
)目录 java abcd.App
.
我如何 运行 来自“错误”目录的 class 文件,例如来自 sub-directory abcd
本身,或者实际上来自任何其他目录。
尽管已经出现了几个标题表明它们解决了这个问题的 Whosebug 问题,none 我发现确实如此。
您需要将 /home
指定为 class 路径(或者更确切地说,将其添加到 class 路径)。这是你的包结构所在的目录。
从任何地方,您都可以运行
java -cp /home/ abcd.App
您还可以为 class 路径使用相对路径,这意味着这应该在 /home/abcd/
:
中起作用
java -cp .. abcd.App
App.java
是目录 /home/abcd
中的一个简单的“Hello World”应用程序,并且是程序包 abcd
的一部分;也就是说,它有一个 header package abcd;
。我可以轻松地编译和 运行 应用程序,从 /home
目录 javac abcd/App.java
和 运行 从上层(即 /home
)目录 java abcd.App
.
我如何 运行 来自“错误”目录的 class 文件,例如来自 sub-directory abcd
本身,或者实际上来自任何其他目录。
尽管已经出现了几个标题表明它们解决了这个问题的 Whosebug 问题,none 我发现确实如此。
您需要将 /home
指定为 class 路径(或者更确切地说,将其添加到 class 路径)。这是你的包结构所在的目录。
从任何地方,您都可以运行
java -cp /home/ abcd.App
您还可以为 class 路径使用相对路径,这意味着这应该在 /home/abcd/
:
java -cp .. abcd.App