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

如何以Java Modules方式运行Spring Boot构建的.jar文件?

如何以Java Modules方式运行Spring Boot Maven插件构建的Jar包?

问题背景

我基于最新Java版本创建了一个简单的Spring Boot应用,希望以Java Modules方式运行它。

已编写的代码文件

Main类

package org.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {

  public static void main(final String[] args) {
    System.out.println("Module: " + Main.class.getModule());
    SpringApplication.run(Main.class, args);
  }
}

module-info.java模块描述文件

module spring.jpms {
  requires spring.core;
  requires spring.boot;
  requires spring.boot.autoconfigure;
  requires spring.context;
  requires spring.beans;

  opens org.example to
      spring.core,
      spring.beans,
      spring.context;
}

不同运行方式的结果

  • 通过IDE生成的带模块路径的命令运行Main类时,程序正常执行,能正确打印应用模块名称:
Module: module spring.jpms
...
  • 但使用mvn spring-boot:run命令或者java -jar <target>.jar命令运行时,程序以类路径模式执行,模块名称显示为"unnamed":
...
Module: unnamed module @7923f745
...

核心疑问

有没有办法以Java Modules方式运行Spring Boot Maven插件构建的Jar包,也就是通过module-path来加载相关Jar文件?


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 13:13:02