无法从另一个目录运行java进程

时间:2017-05-03 10:58:31

标签: java linux-kernel

我有这个文件的文件夹A:

- nice-proj-5.1.2.jar
- MyCLI.class

从文件夹A中的终端运行时:

java -cp /home/user123/projects/my_proj/nice-proj-5.1.2.jar:commons-io-2.5.jar:. MyCLI

一切正常

但是当我转到文件夹B并运行相同的命令时,我会收到

Error: Could not find or load main class MyCLI

这是我无法解决的错误。当我复制文件" MyCLI.class"进入文件夹B,它可以工作。

UPD。当提供完整路径并运行此命令时:

java -cp /home/user123/projects/my_proj/stanford-corenlp-3.7.0.jar:commons-io-2.5.jar:. /home/user123/projects/my_proj/MyCLI

它失败了:

Error: Could not find or load main class .home.user123.projects.my_proj.MyCLI

1 个答案:

答案 0 :(得分:0)

类文件位置应该在java类路径中。由于您的类存在于文件夹A中,因此您需要将文件夹A添加到类路径中。我猜你正在运行一些特定的测试,理想情况下,类文件应该放在类路径中包含的jar和jar中。

请参阅以下链接,了解如何添加classpath: https://docs.oracle.com/javase/tutorial/essential/environment/QandE/answers.html

编辑: 就像是: java -cp /home/user123/projects/my_proj/nice-proj-5.1.2.jar:commons-io-2.5.jar:.:(文件夹A的完整路径)MyCLI