나는 다음과 같은 코드왜 cp가 콜론 (:)으로 끝나지 않으면 class.getClassLoader()가 널 포인터를 던집니까?
public static void main(String args[]) throws Exception {
ClassLoader sysClassLoader = Thread.currentThread().getContextClassLoader();
URL[] urls = ((URLClassLoader)sysClassLoader).getURLs();
String cp = "";
for(int i=0; i< urls.length; i++)
{
String ffile = (String) urls[i].getFile();
}
}
을 그리고 클래스는 아주 잘 컴파일 - 그러나 이것은 이상한입니다. 나는이 방법은 모든 괜찮 그것을 시작할 때
java -cp "foo.jar" FileUtils
Exception in thread "main" java.lang.NoClassDefFoundError: FileUtils
:하지만
java -cp "foo.jar:" FileUtils
File:/home/u/wzhkit/java/foo.jar
왜이 내가이이 문제를 어떻게 얻을 수있는 I 클래스 이런 식으로 시작하면, 내가 널 포인터를 잡아?
감사합니다, 크리스
그것은 코드가 무엇 때문 아니다 단순히 주 클래스를 찾을 수 없습니다. null 포인터가 전혀 없습니다. – SJuan76
경로 값을 따옴표로 묶을 필요가 없습니다. Char : Linux에서 경로 구분 기호입니다. – 01es
'NoClassDefFoundError'를 봅니다. 어디에서'NullPointerException'을 잡을 수 있습니까? (또는 귀하의 질문에 오타가 무엇입니까?) –