我正在学习selenium并尝试运行以下代码,但它引发了异常。NoSuchFieldError:空字节数组。请帮助我理解这个简单的程序出了什么问题。
package newpackage;
import java.io.FileInputStream;
import java.io.IOException
import org.apache.poi.xssf.usermodel.*;
public class spp {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String excelFilePath = "./src/DataFiles/GMD.xlsx";
FileInputStream inputStream = new FileInputStream(excelFilePath);
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
XSSFSheet sheet = workbook.getSheetAt(0);
int rows = sheet.getLastRowNum();
System.out.println(rows);
}
}
慰问:
线程“main”java中出现异常。lang.NoSuchFieldError:空字节数组
at org.apache.logging.log4j.core.config.ConfigurationSource.<clinit>(ConfigurationSource.java:56)
at org.apache.logging.log4j.core.config.NullConfiguration.<init>(NullConfiguration.java:32)
at org.apache.logging.log4j.core.LoggerContext.<clinit>(LoggerContext.java:85)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.createContext(ClassLoaderContextSelector.java:254)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:218)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:136)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:123)
at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:117)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:150)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:599)
at org.apache.poi.ooxml.POIXMLDocumentPart.<clinit>(POIXMLDocumentPart.java:56)
at newpackage.spp2.main(spp2.java:17)
好的,这与正在加载的excel文件或(可能)应用程序代码无关。
发生的是当
org.apache.logging.log4j.core.config.ConfigurationSource
正在初始化...在log4j 2. x实现代码的深处...它遇到了二进制兼容性问题。ConfigurationSource
的代码依赖于一个名为
org.apache.logging.log4j.core.util.Constants
并试图在该类中使用一个名为空字节数组
的常量。编译ConfigurationSource
时,该字段存在。但是类加载器发现的常量
版本中不存在。。。这恰好与log4j 2的最新版本相匹配。x源代码。
这很奇怪。
更奇怪的是,配置源代码和常量应该来自同一个依赖... log4j核心。JAR依赖关系。所以很难理解他们怎么会不合拍。我能想到的最好的情况是,有人(在您的组织中)已经完成了修补log4j 2. x漏洞和破坏二进制兼容性的笨拙工作。
这有什么意义吗?你得到的是log4j核心。使用最新的官方Apache版本工件直接从Maven Central获取JAR?或者你是从别的地方捡到的?请注意,如果您是通过组织Maven镜像获取依赖项,那么管理镜像的人员可能已经创建了。。。犯罪嫌疑人罐子
代码重构后,我在尝试编译Maven项目时遇到以下错误: 我尝试删除文件夹但问题未解决。您知道如何解决此问题吗?
我有任务要做,我有一个问题,我得到了错误。我不知道怎么修理它: 线程“main”java.lang.NullPointerException在test.main(test.java:29)中出现异常
我在线程“main”java中遇到异常。错误:未解析编译。 我做错了什么? 线程“main”中出现异常: java.lang.错误:未解决的编译问题: 对于类型在
我有任务要做,我有一个问题,我得到了错误。我不知道如何修理它: 异常线程"main"java.lang.NullPointerExcema在test.main(test.java:29) 这是我的密码:
我从GitHub克隆了我的项目,现在我无法运行我的项目。 我收到以下错误: 知道是什么导致了这个错误吗? 编辑 我检查了这个问题Intellij在我发布到这里之前突然抛出ClassNotFoundException,它没有给我任何解决方案...为什么要将我的问题标记为重复,因为那个问题不能解决我的问题?
我得到了这个错误: 线程“main”Java.lang.NosuchFielderRror:calificacion.main处的num1异常(problema_3.Java:17) 在这个简单的终端Java程序上键入第一个值后: 另一方面,这一个运行良好,我使用相同的输入法在这两个: 提前道谢。