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

在STS中为现有微服务模块实现Java 9模块化

在Spring Tool Suite(STS)中为现有微服务模块实现模块化

STS支持Java模块化,核心实现逻辑和IntelliJ一致,都是通过module-info.java定义模块边界与依赖,具体操作步骤如下:

1. 创建module-info.java文件

  • 右键目标微服务模块的src/main/java目录,选择新建 → 其他
  • 在弹出的搜索框中输入“Module-info.java”,选中对应选项后点击下一步
  • 输入模块名称(建议与Maven/Gradle的artifactId保持一致),点击完成
  • 基础的module-info.java示例:
    module com.example.yourmicroservice {
        // 对外暴露需要被其他模块访问的包
        exports com.example.yourmicroservice.controller;
        exports com.example.yourmicroservice.service;
    
        // 声明当前模块依赖的其他模块
        requires spring.boot;
        requires spring.boot.autoconfigure;
        requires spring.web;
    
        // 若需允许框架反射访问内部包,添加opens语句
        opens com.example.yourmicroservice.entity to spring.core;
    }
    

2. 配置模块依赖与Java版本

  • 确保项目使用Java 9及以上版本(模块化的最低要求):
    • 若用Maven,在pom.xml中指定编译版本:
      <properties>
          <maven.compiler.source>17</maven.compiler.source>
          <maven.compiler.target>17</maven.compiler.target>
      </properties>
      
  • STS会自动关联module-info.java中的requires语句与项目依赖,若依赖的jar包包含自身的module-info.java,直接使用其模块名即可;若为自动模块(无module-info的jar),使用jar的文件名作为模块名(去掉版本号)

3. 验证模块化配置

  • 右键模块选择运行 → Spring Boot应用,检查服务是否正常启动
  • 若出现模块访问权限报错,调整exports或opens语句,确保对应包的访问权限符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 21:45:42