2010-03-27 7 views
3

Eclipse 프로젝트에 프로그래밍 방식으로 라이브러리 (Jar 파일)를 넣을 수있는 방법이 있습니까? 지금은 그것을 외부 기준을 관리했습니다까지 나는 단지 jtwitter.jar로 참조 할 수 있도록 프로그래밍 방식으로 프로젝트 폴더에 jtwitter 파일을 복사 할 그러나, 프로그램 Eclipse에서 라이브러리를 프로그래밍 방식으로 가져 오기

IPath path = new Path("C:\\myfolder\\mylibrary.jar"); 
    libraries.add(JavaCore.newLibraryEntry(path, null, null)); 
    //add libs to project class path 
    try { 
     javaProject.setRawClasspath(libraries.toArray(new IClasspathEntry[libraries.size()]), null); 
    } catch (JavaModelException e1) { 
     e1.printStackTrace(); 
    } 

를 사용하여. 제발 할 수 있을까요?

덕분에 많은 안부, Krt_Malta

답변

2

이것은 트릭을 만들었습니다. 제가 원했던 것은 라이브러리를 프로젝트로 가져온 다음 외부 파일에 대한 참조를 사용하지 않고 프로젝트에서 참조하는 것입니다.

InputStream is = new BufferedInputStream(new FileInputStream("C:\\myfolder\\mylibrary.jar")); 
    IFile file = project.getFile("mylibrary.jar"); 
    file.create(is, false, null); 

    IPath path = file.getFullPath(); 
    libraries.add(JavaCore.newLibraryEntry(path, null, null)); 
    //add libs to project class path 
    try { 
     javaProject.setRawClasspath(libraries.toArray(new IClasspathEntry[libraries.size()]), null); 
    } catch (JavaModelException e1) { 
     e1.printStackTrace(); 
    } 
+0

좋은 해결책 (절대 경로로 프로젝트에서 IFile 만들기) +1 – VonC

0

setRawClasspath() 올바른 방법입니다.

그러나 프로젝트의 클래스 경로에 새 경로를 추가하기 전에 먼저 jar 파일을 프로젝트의 루트 디렉토리에 복사해야합니다.
그런 식으로 항아리의 상대 경로는 jtwitter.jar가됩니다.

+0

예, 제발 복사 할 수있는 방법 어떤 생각을 얻는다? –

2

IFile.getRawLocationURI()는 당신에게 절대 경로

관련 문제