2010-02-18 5 views
0

Eclipse 프로젝트에서 JaCoP를 사용하려고합니다. 내가 라이브러리를 가져온하고 빌드 경로에 표시되는 응용 프로그램은 잘 컴파일하지만 라이브러리가 나는 다음과 같은 오류가 필요한 시점에 도달 할 때 :Eclipse에서 JaCoP를 사용할 때 NoClassDefFoundError

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jdom/Content 
at layout.MainLayoutManager.<init>(MainLayoutManager.java:14) 
at gui.Instance.<init>(Instance.java:48) 
at handler.Main.createNewInstance(Main.java:59) 
at handler.Main$2.actionPerformed(Main.java:111) 

오류를 발생시키는 코드는 특히

package layout; 

import graph.Cell; 
import graph.Vertex; 
import interfaces.LayoutManager; 

import java.util.ArrayList; 

import JaCoP.core.Store; 

public class MainLayoutManager implements LayoutManager { 
ArrayList<CPVertex> vertexList = new ArrayList<CPVertex>(); 
Store store = new Store(); 

public MainLayoutManager() { 

} 

public void sortGraph(Cell[] cells) { 
for (int i=0; i<cells.length; i++) { 
if (cells[i].getType() == Cell.VERTEX) { 
vertexList.add(new CPVertex((Vertex) cells[i])); 
} 
} 
} 

} 

라인은

Store store = new Store(); 

난 정말이 오류를 해결하는 어떤 도움을 주셔서 감사합니다.

답변

2
java.lang.NoClassDefFoundError: org/jdom/Content 

이 단지 특정 클래스가 런타임 클래스 경로에없는 것을 의미한다 (이것은 컴파일 타임 클래스 경로에서 사용할 수있는 동안, 그 ClassNotFoundException와의 차이입니다).

논리적 인 다음 단계는 특정 클래스 (또는 실제로는 특정 클래스의 JAR 파일)를 런타임 클래스 경로에 포함시키는 것입니다. 그렇다면이 오류는 사라질 것입니다.

컴파일 타임 클래스 패스가 있는지 확인하고 런타임 클래스 패스에 추가하십시오. 또는 실제로 런타임 종속성이 아닌 경우 (가능성이있는 경우), 패키지 이름이 http://jdom.org에서 찾아서 다운로드 할 수 있음을 이미 알고 있다는 것을 알고있는 것이 좋습니다.

관련 문제