以编程方式在Eclipse中导入库

时间:2010-03-27 23:10:01

标签: eclipse libraries

有没有办法以编程方式将库(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 个答案:

答案 0 :(得分: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();
    }

答案 1 :(得分:2)

IFile.getRawLocationURI()为您提供绝对路径

答案 2 :(得分:0)

setRawClasspath()是正确的方法。

但是,在将jar(使用新路径)添加到项目的类路径之前,首先需要将jar复制到项目的根目录。
这样,jar的相对路径就是jtwitter.jar。