You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java应用因POM文件问题报退出码-1073741819(0xC0000005)求助

排查Java应用抛出Exit Code -1073741819 (0xC0000005)问题

首先得明确,这个错误码0xC0000005是Windows系统的访问违规错误,说白了就是程序试图访问不该碰的内存区域,或者内存读写越界了。结合你的场景和pom.xml代码,我整理了几个核心排查方向:

1. 先修复pom.xml的语法错误

你提供的pom最后一个依赖明显没写完:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</vers

这里的<version>标签没闭合,应该改成:

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

这个语法错误会导致Maven依赖解析异常,甚至构建出的包依赖不完整,很可能是引发后续运行时问题的导火索。

2. 解决日志框架的依赖冲突

你的pom里同时引入了spring-boot-starter-log4j2和旧版log4j:log4j:1.2.17,这俩是完全冲突的:

  • log4j2是log4j的升级重写版本,API和实现都不兼容旧版
  • 同时存在会导致类加载混乱,甚至触发JVM内部内存访问错误

解决方案:直接删除单独的log4j:log4j:1.2.17依赖,spring-boot-starter-log4j2已经包含了完整的日志实现,不需要额外引入旧版。

另外,你手动指定了slf4j-api:1.7.21,但Spring Boot 1.5.9.RELEASE默认依赖的slf4j版本是1.7.25,版本不一致也可能引发日志框架的类加载冲突,建议移除这个手动指定的依赖,让parent自动管理版本。

3. 统一Spring Boot依赖版本

你的spring-boot-starter-websocket没有指定版本,虽然继承了parent会自动用1.5.9.RELEASE,但为了避免潜在的版本不一致问题,建议显式加上版本号:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
    <version>1.5.9.RELEASE</version>
</dependency>

4. 检查JVM运行参数

如果上述依赖问题修复后还报错,那就要看JVM参数了:

  • 比如堆内存设置过大(比如-Xmx2g但你的系统可用内存不足),会导致系统内存分配失败,引发访问违规
  • 建议调整堆内存参数,比如改成-Xmx512m或者-Xmx1g,再尝试运行

5. 其他排查方向

  • 清理Maven本地仓库:删除~/.m2/repository下对应项目的依赖,重新执行mvn clean install,避免依赖包损坏
  • 如果项目里有JNI调用本地库的代码,检查本地库和JVM的位数是否匹配(32位JVM不能用64位本地库,反之亦然)

内容的提问来源于stack exchange,提问作者foxitdog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:02:38