繁体   English   中英

在Eclipse中导入库

[英]Importing Library in Eclipse

我有一个Eclipse项目,我将库“OpenCSV”作为外部JAR导入。 该库现在显示在我的项目“参考库”下。

但是,当我打电话时:

CSVReader reader = new CSVReader(new FileReader(csvPath));

Eclipse抛出一个错误,指出没有定义构造函数CSVReader。 csvPath的类型为String。

有什么想法吗?

编辑:截图

我的工作区

我可能弄错了(我不使用这个库,也不知道它的包名的历史)但看起来autoEvoSuite是你自己的包。

如果是这种情况, 那么你有 类名冲突 (实际上没有冲突,你只是使用了错误的类)因为你的类也被命名为CSVReader所以在方法readCVS你不是在调用au.com.bytecode.opencsv.CSVReader构造au.com.bytecode.opencsv.CSVReader ,但是你自己的类autoEvoSuite.CSVReader构造autoEvoSuite.CSVReader ,因为你的类没有

public CSVReader(FileReade reader){...}

构造函数,编译器通知您这个问题。

要解决这个问题,请考虑重命名您的类,或者通过编写其完整的包名来明确说明您要使用哪个类

au.com.bytecode.opencsv.CSVReader reader = new au.com.bytecode.opencsv.CSVReader(new FileReader(csvPath));

你必须尝试捕获FileNotFoundException并查看下面的代码。

public FileReader(String fileName) throws FileNotFoundException {
    super(new FileInputStream(fileName));
}

你可以像下面这样修改它

   try {
        CSVReader reader = new CSVReader(new FileReader(csvPath));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

您正在调用不存在的类CSVReader的构造函数! 重命名您的类并创建au.com.bytecode.opencsv的新实例,或删除相应的行,确保导入au.com.bytecode.opencsv.CSVReader ,然后重新创建该行。

或者 - 但我不确定这是否是你想要的 - 你可以制作你的CSVReader (最好用另一个名字),扩展au.com.bytecode.opencsv.CSVReader并覆盖相应的构造函数。

我猜您的问题是由于您使用CSVReader自动完成并且没有从正确的包中选择类时引起的?

您需要在项目的构建路径中添加相关的JAR才能构建它。

您的Java项目(右键单击) - >属性 - > Java构建路径 - >库 - >添加JAR /添加外部JAR

在此输入图像描述

我在这里列出了我的完整解决方案 ,尝试使用CSVParser ,这可以从Apache Commons获得并且更容易使用!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM