我无法弄清楚为什么我在这里得到ClassNotFoundException,因为我已经为WorkUtils编译了相应的jar文件,而且WordUtils类显然在jar文件中。
我使用javac -d bin -cp lib/commons-text-1.2.jar MyClass.java
编译
并使用java -cp bin MyClass
这是我的java类:
import org.apache.commons.text.WordUtils;
class MyClass
{
public static void main(String[] args) {
System.out.println(WordUtils.capitalize("sample text"));
}
}
我收到此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/text/WordUtils
at MyClass.main(MyClass.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.text.WordUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
任何人都知道这里可能出现什么问题?
答案 0 :(得分:4)
图书馆也必须发送到java
:
java -cp bin:lib/commons-text-1.2.jar MyClass
如果您使用的是Windows,则可能需要将:
替换为;
答案 1 :(得分:0)
如果您使用的是commons-text 1.4+,则必须使用Java8。请确保您使用的Java版本正确;否则,请使用Java 8。这就是我的NoClassDefFoundError
的原因。