如何在任何文件夹中执行 *.class 文件?

How can I execute *.class file in any folder?

这是我的项目树:

.
├── README.md
├── package.json
└── src
    └── xyz
        └── pagenote
            ├── HandlerTestA.class
            ├── HandlerTestB.class
            ├── Main.class

如果我在文件夹src,我可以通过

执行Main.class
src# java xyz.pagenote.Main

可以,但是我想在当前文件夹下执行,试过了

.# java ./src/xyz/pagenote/Main

没用,怎么办?

我找到了解决方案,我们可以为 java 指定一个类路径:

.# java -classpath ./src xyz.pagenote.Main

这条命令会让java正确执行

对于命令java,默认class路径是当前工作目录(.)

所以当从src目录执行xyz.pagenote.Main,并且没有指定classpath标志时,java会在class中寻找文件src/xyz/pagenote.class

因此,要从 src 以外的目录执行,您必须指定 class 路径,例如:

$ java -classpath /path/to/src xyz.pagenote.Main