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

Eclipse中启动prjTest报错:找不到自定义Java模块prjuno求解决

解决Eclipse中Maven模块化项目直接引用时的模块找不到问题

问题场景

在Eclipse 2023-03 (4.27.0)、JDK 17.0.5环境下,创建两个Maven模块化项目:

  • prjuno:自定义模块,包含sm.clagenna.prjuno.PrimoProg类,module-info.java声明exports sm.clagenna.prjuno
  • prjTest:测试模块,module-info.java声明requires prjuno,代码中调用prjuno的类

已将prjuno添加到prjTest的Modulepath中,但运行prjTest时抛出错误:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module prjuno not found, required by prjTest

将prjuno安装到本地Maven仓库后通过依赖引用则运行正常。

解决方案

方案1:手动配置运行时模块路径

  1. 右键prjTest项目 → Run As → Run Configurations...
  2. 选择对应的Java Application配置(无则新建)
  3. 切换到Arguments标签页,在VM arguments中添加:
    --module-path "${workspace_loc:/prjuno/target/classes}:${module_path}"
    
  4. 点击Apply后重新运行程序。

方案2:通过Maven项目依赖关联(无需本地安装)

修改prjTest的pom.xml,添加prjuno的项目依赖:

<dependencies>
  <dependency>
    <groupId>sm.clagenna</groupId>
    <artifactId>prjuno</artifactId>
    <version>1.0-SNAPSHOT</version>
    <scope>compile</scope>
  </dependency>
</dependencies>

执行prjTest的Maven → Update Project,Eclipse会自动维护模块路径,运行即可正常调用。

方案3:检查Eclipse项目基础配置

  • 确认prjuno的module-info.java位于源目录根路径(与包目录同级)
  • 确认prjTest的Build Path中,prjuno是添加到Modulepath而非Classpath
  • 两个项目的Java Compiler版本统一设置为17,预览特性保持一致

原因说明

Eclipse处理Maven模块化项目的直接项目引用时,偶尔无法自动将依赖项目的编译输出目录纳入运行时模块路径,导致JVM启动时找不到依赖模块。通过Maven依赖声明或手动指定模块路径,可强制JVM识别到所需模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:25:38