[英]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.