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

使用TypeScript Generator Maven Plugin生成TS接口报错:未找到输入类

解决TypeScript Generator Maven Plugin报错"No input classes found"的问题

问题背景

在Spring Boot多模块项目中,client模块依赖server模块,配置TypeScript Generator Maven Plugin从server的DTO生成TS接口时,构建报错:

Failed to execute goal cz.habarta.typescript-generator:typescript-generator-maven-plugin:2.34.976:generate (generate-typescript) on project tflow-client: Execution generate-typescript of goal cz.habarta.typescript-generator:typescript-generator-maven-plugin:2.34.976:generate failed: No input classes found.

但控制台日志明确显示:

Found 5 classes matching pattern.

可能的解决方案

1. 先确保server模块已完成编译安装

由于client模块依赖server的DTO类,先单独编译安装server模块,再构建client:

cd tflow-server
mvn clean install
cd ../tflow-client
mvn clean compile

2. 替换通配符匹配为显式指定类

将<classPatterns>替换为<classes>,直接列出需要生成TS接口的DTO类,避免通配符匹配可能的加载问题:

<configuration>
  <!-- 其他配置保持不变 -->
  <!-- 移除原有的classPatterns -->
  <!-- <classPatterns>
    <pattern>com.matejgeljic.taskflow.domain.dto.*</pattern>
  </classPatterns> -->
  <classes>
    <class>com.matejgeljic.taskflow.domain.dto.YourFirstDto</class>
    <class>com.matejgeljic.taskflow.domain.dto.YourSecondDto</class>
    <!-- 其他DTO类 -->
  </classes>
</configuration>

3. 调整插件执行阶段

将插件执行阶段从generate-sources改为process-classes,确保所有依赖类都已编译完成:

<execution>
  <id>generate-typescript</id>
  <goals>
    <goal>generate</goal>
  </goals>
  <!-- 修改执行阶段 -->
  <phase>process-classes</phase>
  <configuration>
    <!-- 其他配置不变 -->
  </configuration>
</execution>

4. 检查DTO类的依赖完整性

确认匹配到的5个DTO类中,是否存在引用了未在classpath中的类(比如自定义枚举、其他实体类)。如果有缺失,需要确保这些依赖类也被包含在server模块的编译输出中,或者在client模块中添加对应的依赖。

5. 尝试升级插件版本

当前使用的2.34.976版本可能存在已知bug,尝试升级到最新稳定版本,修改插件的<version>值:

<version>最新稳定版本号</version>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 02:33:12