我有这个文件的文件夹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
答案 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