2011-08-15 2 views
2

하나의 라이브러리 jar 파일 (prowser-0.2.0)이 필요한 애플릿을 코딩했습니다. 내가 이클립스 (3.6)에서 그것을 테스트하고 작동하지만 HTML 웹 사이트에 넣을 때, 나는 다음과 같은 오류가 발생했습니다. 나는 프로젝트 속성에서 pbrowser 라이브러리를 임베디드했습니다.> 자바 빌드 경로 => 라이브러리 => 외부 Jar를 추가하십시오. 이 코드는 실행 가능한 jar 및 Eclipse의 애플릿으로 작동합니다. Java 콘솔에서참조 된 라이브러리가있는 애플릿 내보내기

오류 :

"Exception in thread "thread applet-myapplet.class-4" java.lang.NoClassDefFoundError: Could not initialize class com.zenkey.net.prowser.Prowser at myapplet.init(myapplet.java:8) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source)"

애플릿 코드 :

import java.applet.Applet; 
import com.zenkey.net.prowser.*; 
public class myapplet extends Applet { 

public void init() { 

    Prowser prowser = new Prowser(); 
    Tab tab = prowser.createTab(); 
    System.out.println(tab.go("http://www.google.com").getPageSource());  

    } 
} 

HTML 코드 : 도움을

<html> 
<head> 
<title> hello world </title> 
</head> 

<body> 
This is the applet:<P> 
<applet code="myapplet.class" archive="hello.jar,prowser-0.2.0.jar" width="150" height="50"> 
</applet> 
</body> 
</html> 

정말 감사합니다!

답변

3

HTML을 서비스하는 웹 서버의 HTML 파일과 동일한 디렉토리에 hello.jar 및 prowser-0.2.0.jar가 있습니까? 애플릿이 오류 메시지에서 알 수 있듯이 hello.jar을 찾은 것 같습니다. prowser-0.2.0.jar은 별도의 파일과 동일한 디렉토리에 이 아닌이 hello.jar 자체에 포함되어 있어야합니다 (Eclipse에서 "runnable jar로 내보내기"를 선택하면 수행 할 수 있습니다).

그런 다음 hello.jar의 매니페스트 파일에서 prowser Jar에 대한 비정상적인 Class-Path 항목이 있는지 확인합니다. 상대 경로 또는 절대 경로 정보는 포함하지 말고 파일 이름 자체 만 포함하면 안됩니다.

+0

예 hello.jar 및 prowser 라이브러리는 html 파일과 동일한 디렉토리에 있습니다. 실행 가능한 jar 파일로 내 보내지는 않았지만 jar 파일로, Eclipse의 Java 빌드 경로에 prowser 라이브러리를 외부 jar 라이브러리 파일로 추가했습니다. – user895063

+0

게시물을 편집 했으므로 Jar의 매니페스트 파일을 확인할 수도 있습니다. – emboss

+0

매니페스트 파일 : 매니페스트 - 버전 : 1.0 클래스 경로 : prowser-0.2.0.jar – user895063

관련 문제