java - Maven 找不到 opencsv csv 解析器

标签 java maven csv

我在使用 maven 和 opencsv 时遇到了一个问题

我正在尝试按如下方式使用 csvparser:

import java.io.IOException;
import au.com.bytecode.opencsv.CSVParser;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapreduce.Mapper;

public class FlightsByCarrierMapper extends
                Mapper<LongWritable, Text, Text, IntWritable> {
    @Override
    protected void map(LongWritable key, Text value, Context context)
            throws IOException, InterruptedException {

        if (key.get() > 0) {
            String[] lines = new
        CSVParser().parseLine(value.toString());
            context.write(new Text(lines[8]), new IntWritable(1));
        }
    }
}

我已经添加了 opencsv 依赖项,可以毫无问题地使用 csvreader。尽管无法解析 csvparser,但每当我尝试编译代码时都会抛出错误。

然后 Maven 抛出以下错误。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project FlightsByCarrier: Compilation failure: Compilation failure:
[ERROR] /root/workspace/FlightsByCarrier/src/main/java/com/root/hadoop/FlightsByCarrier/FlightsByCarrierMapper.java:[6,30] error: cannot find symbol
[ERROR] package au.com.bytecode.opencsv
[ERROR] /root/workspace/FlightsByCarrier/src/main/java/com/root/hadoop/FlightsByCarrier/FlightsByCarrierMapper.java:[18,2] error: cannot find symbol

现在的依赖看起来像这样:

<dependency>
    <groupId>net.sf.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>1.8</version>
</dependency>

最佳答案

CSVParser 类似乎不存在于opencsv 1.8 中.此类介绍于 opencsv 2.1 .

因此,您至少需要将依赖项更新到 2.1 版。

<dependency>
    <groupId>net.sf.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>2.1</version>
</dependency>

请注意,从 3.x 分支开始, Artifact 被重新定位到 com.opencsv:opencsv协调。最好使用最新版本的库:

<dependency>
    <groupId>com.opencsv</groupId>
    <artifactId>opencsv</artifactId>
    <version>3.7</version>
</dependency>

您还需要将导入更新为 import com.opencsv

关于java - Maven 找不到 opencsv csv 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241482/

相关文章:

java - 获取对象的大小

java - Maven 依赖项在 Spring 配置中不可见

python - 如何使用 python 对 CSV 文件的多列进行排序?

java - 打开连接时出错 java.io.IOException : Server returned HTTP response code: 501 for URL

Java Maven Jasperreport 从 Eclipse 运行 好的,从 java - jar JRRuntimeException : Chart theme "eye.candy.sixties" not found

php - CSV 生成有 ',' 问题

python - 如何将多个列表中的元素写入 csv,其中每个元素属于每一行?

java - 在 java 中如何有效地从文件中读取 x 行,关闭它,然后再次打开它,从第 x 行开始并继续阅读

java - 通过 CustomTab 或 Chrome 发布数据

java - 如何从 Excel 中的数组列表中收集引用