首页 > 解决方案 > 使用命令行执行 Java 类文件,但来自“错误”目录

问题描述

App.java是目录中的一个简单的“Hello World”应用程序,/home/abcd是包的一部分abcd;也就是说,它有一个 header package abcd;/home我可以轻松地从目录编译和运行应用程序,javac abcd/App.java并从上层(即/home)目录运行它java abcd.App

如何从“错误”目录运行类文件,例如,从子目录abcd本身,或者实际上从任何其他目录。

尽管出现了几个 stackoverflow 问题,其标题表明它们解决了这个问题,但我发现没有一个问题完全如此。

标签: javacommand-line-interface

解决方案


您需要指定/home为类路径(或者更确切地说,将其添加到类路径中)。它是您的包结构所在的目录。

从任何地方,您都可以运行

java -cp /home/ abcd.App

您还可以使用类路径的相对路径,这意味着这应该在内部工作/home/abcd/

java -cp .. abcd.App

推荐阅读