Импорт библиотек в Eclipse программно - PullRequest
3 голосов
/ 28 марта 2010

Есть ли способ, которым я мог бы программно поместить библиотеку (файл Jar) в проект 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();
    }

Однако я бы хотел скопировать файл jtwitter в папку проекта программно, чтобы я мог ссылаться на него только как на jtwitter.jar. Можно ли это сделать, пожалуйста?

Большое спасибо и всего наилучшего, Krt_Malta

Ответы [ 3 ]

2 голосов
/ 28 марта 2010

Это добилось цели. То, что я точно хотел, это импортировать библиотеку в проект и затем ссылаться на нее из проекта, не используя ссылку на внешний файл.

    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();
    }
2 голосов
/ 10 декабря 2012

IFile.getRawLocationURI () возвращает вам абсолютный путь

0 голосов
/ 28 марта 2010

setRawClasspath() правильный метод.

Однако вам необходимо сначала скопировать jar-файл в корневой каталог вашего проекта, а затем добавить его (с новым путем) в путь к классам проекта.
Таким образом, относительный путь к банке будет jtwitter.jar.

...