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 (将#修改为@)