微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Maven - 无法理解为什么修复了编译错误

如何解决Maven - 无法理解为什么修复了编译错误

我有一段代码可以在 Eclipse 中使用 Java 11 编译正常。

我正在学习 maven,我正在尝试将我现有的项目转换为使用 maven 进行编译。

我的代码不使用 java.sql.ResultSetMetaData 但 maven 抱怨

const matched = useRouteMatch("/projects");  
 return (
<Route path={"/"} render={() => (!matched ? <YourComponent /> : null)} />);

来自 CSVUtils.java 的方法

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project unavagam: Compilation failure
[ERROR] /D:/GitRepos/Unavagam/unavagam/src/main/java/com/som/unavagam/csv/CsvUtils.java:[23,80] cannot access java.sql.ResultSetMetaData
[ERROR]   class file for java.sql.ResultSetMetaData not found

Maven Error

不过

当我将以下内容添加module-info.java 时,编译问题就消失了

    public static void writeCSVFile(String fileName,List<CsvBean> data) throws Exception {
    if (data != null && !data.isEmpty()) {
        String[] headers = data.get(0).getHeader();
        CSVFormat format = CSVFormat.DEFAULT.withDelimiter(',').withHeader(headers);
        try (FileWriter fw = new FileWriter(new File(fileName));
                BufferedWriter bw = new BufferedWriter(fw);
                CSVPrinter printer = new CSVPrinter(bw,format);) {
            List<String> dat = new ArrayList<>(headers.length);
            for(CsvBean bean:data) {
                dat.clear();
                bean.populateCSVOrderedList(dat);
                printer.printRecord(dat);
            }
            printer.flush();
        }
    }

}

如果没有上面这行代码,eclipse 可以毫无问题地编译代码

请帮助我理解。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。