在类中导入整个JAR库

时间:2013-01-24 17:30:35

标签: java eclipse itext

原谅我对Java导入的困惑 - 我来自Python背景。

我有一些使用itext库的代码:

public static void makeADoc (Person p, String outfile) throws DocumentException,FileNotFoundException{
        Document document = new Document;
        PdfWriter.getInstance(document, new FileOutputStream(outfile));
        document.open();
        document.add(new Paragraph("Hello " + p.getFirst() + ",\n" + "You've just won the lotto!"));
        document.close();
    }

我已将适用的itext-pdf jar文件添加到项目的路径中。我使用通配符import语句在此类的开头导入了整个库:

import com.itextpdf.*;

然而,Eclipse仍然为Document对象和DocumentException以及FileNotFound Exception对象提供了红色下划线错误。我可以选择从itextpdf导入Document类,但看起来我的通配符语句应该已经覆盖了。这是怎么回事?

1 个答案:

答案 0 :(得分:6)

FileNotFoundException不是来自itextpdf包,而是来自包java.io。所以你也应该添加这个import语句。还要记住,使用这样的通配符导入语句有时被认为是不好的做法,因为它可能会混淆您的命名空间。

此外,使用通配符语句,可以导入包com.itextpdf中的所有类。但是,类DocumentException位于包com.itextpdf.text而非com.itextpdf中,因此您还必须添加此导入语句。请注意,在Java中,没有子包的概念,即使人类有时使用这种类比。因此,com.itextpdf.textcom.itextpdf完全不同。