Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jdk17+javafx+easyexcel 3.3.3版本,module-info已经暴露了相关模块,运行报反射错误 #3751

Open
weiwuHuang opened this issue Apr 6, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@weiwuHuang
Copy link

触发场景描述

jdk17+javafx+easyexcel 3.3.3版本,module-info已经暴露了相关模块,但运行报反射错误

触发Bug的代码

module com.reiki.nrp.reikinrp {
requires javafx.controls;
requires javafx.fxml;
requires easyexcel.core;

opens com.reiki.nrp to javafx.fxml;
exports com.reiki.nrp;
exports com.reiki.nrp.listener;
exports com.reiki.nrp.domain;
opens com.reiki.nrp.listener to javafx.fxml;
opens com.reiki.nrp.domain to javafx.fxml;

}

   static List<Map<String,Employee>> readData(File file,LinkedHashMap<String, Statistic> statisticMap){
        List<Map<String,Employee>> list = new ArrayList<>();
        ExcelReader reader = EasyExcel.read(file).build();
        Map<String,Employee> workingList = new HashMap<>();
        ReadSheet workingSheet = EasyExcel.readSheet(0).head(Employee.class).registerReadListener(new DataListener(workingList)).build();
        Map<String,Employee> departList = new HashMap<>();
        ReadSheet departSheet = EasyExcel.readSheet(1).head(Employee.class).registerReadListener(new DataListener(departList)).build();
        Map<String,Employee> departingList = new HashMap<>();
        ReadSheet departingSheet = EasyExcel.readSheet(2).head(Employee.class).registerReadListener(new DataListener(departingList)).build();
        Map<String,Employee> monthList = new HashMap<>();
        ReadSheet monthSheet = EasyExcel.readSheet(3).head(Employee.class).registerReadListener(new DataListener(monthList)).build();
        ReadSheet statisticSheet = EasyExcel.readSheet(4).head(Statistic.class).registerReadListener(new StatisticListener(statisticMap)).build();
        reader.read(workingSheet,departSheet,departingSheet,monthSheet,statisticSheet);
        reader.finish();
        list.add(workingList);
        list.add(departList);
        list.add(departingList);
        list.add(monthList);
        return list;
    }

提示的异常或者没有达到的效果

Caused by: com.alibaba.excel.support.cglib.core.CodeGenerationException: java.lang.IllegalAccessException-->module com.reiki.nrp.reikinrp does not open com.reiki.nrp.domain to unnamed module @28dbc27c
at com.alibaba.excel.support.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:511)
at com.alibaba.excel.support.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:363)
at com.alibaba.excel.support.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:110)
at com.alibaba.excel.support.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:108)
at com.alibaba.excel.support.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.alibaba.excel.support.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
at com.alibaba.excel.support.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
at com.alibaba.excel.support.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:134)
at com.alibaba.excel.support.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:319)
at com.alibaba.excel.support.cglib.beans.BeanMap$Generator.create(BeanMap.java:140)
at [email protected]/com.alibaba.excel.util.BeanMapUtils.create(BeanMapUtils.java:29)
at [email protected]/com.alibaba.excel.read.listener.ModelBuildEventListener.buildUserModel(ModelBuildEventListener.java:141)
at [email protected]/com.alibaba.excel.read.listener.ModelBuildEventListener.invoke(ModelBuildEventListener.java:42)
at [email protected]/com.alibaba.excel.read.listener.ModelBuildEventListener.invoke(ModelBuildEventListener.java:35)
at [email protected]/com.alibaba.excel.read.processor.DefaultAnalysisEventProcessor.dealData(DefaultAnalysisEventProcessor.java:109)
at [email protected]/com.alibaba.excel.read.processor.DefaultAnalysisEventProcessor.endRow(DefaultAnalysisEventProcessor.java:50)
at [email protected]/com.alibaba.excel.analysis.v07.handlers.RowTagHandler.endElement(RowTagHandler.java:66)
at [email protected]/com.alibaba.excel.analysis.v07.handlers.sax.XlsxRowHandler.endElement(XlsxRowHandler.java:99)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:618)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1728)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2899)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1224)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:637)
at [email protected]/com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.parseXmlSource(XlsxSaxAnalyser.java:239)
at [email protected]/com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.execute(XlsxSaxAnalyser.java:260)
at [email protected]/com.alibaba.excel.analysis.ExcelAnalyserImpl.analysis(ExcelAnalyserImpl.java:124)
at [email protected]/com.alibaba.excel.ExcelReader.read(ExcelReader.java:66)
at [email protected]/com.alibaba.excel.ExcelReader.read(ExcelReader.java:56)
at com.reiki.nrp.reikinrp/com.reiki.nrp.NrpController.readData(NrpController.java:2209)
at com.reiki.nrp.reikinrp/com.reiki.nrp.NrpController.analyzeFile(NrpController.java:54)
at com.reiki.nrp.reikinrp/com.reiki.nrp.NrpController.onButtonClick(NrpController.java:44)
... 56 more
Caused by: java.lang.IllegalAccessException: module com.reiki.nrp.reikinrp does not open com.reiki.nrp.domain to unnamed module @28dbc27c
at java.base/java.lang.invoke.MethodHandles.privateLookupIn(MethodHandles.java:259)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.alibaba.excel.support.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:505)
... 92 more

@weiwuHuang weiwuHuang added the bug Something isn't working label Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants