如何将当前文件夹包含为类路径?我有一个Utility和一个Main class,例如;
/home/project/Main.class
/home/project/libs/com/fr/Utility.class
当我尝试以(/ home / project / dir)下运行Main class时;
java -cp "libs/*;" Main
我遇到了错误。
Error: Could not find or load main class Main
编辑:
主类;
import com.fr.Utility;
public class Main{
....
}
实用程序类
package com.fr;
public class Utility{
....
}
我跑步时;
java -cp .:libs/* Main
我遇到了错误;
Exception in thread "main" java.lang.NoClassDefFoundError: com/fr/Utility
Caused by: java.lang.ClassNotFoundException: com.fr.Utility
答案 0 :(得分:4)
将.
用于当前文件夹:
java -cp .;libs/ Main
答案 1 :(得分:2)
如果您使用的是Linux,则应使用冒号作为路径分隔符:
,如果使用的是Windows,则应使用;
。
还用点.
包含当前路径,并从类路径中删除通配符*
:
java -cp .:libs/ Main
或java -cp .;libs/ Main
请参见this answer,以及this documentation中的“了解类路径通配符”部分。
答案 2 :(得分:1)
尝试
java -cp .;libs/ Main
主要问题可能是: