如何在任何文件夹中执行 *.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
这是我的项目树:
.
├── README.md
├── package.json
└── src
└── xyz
└── pagenote
├── HandlerTestA.class
├── HandlerTestB.class
├── Main.class
如果我在文件夹src
,我可以通过
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