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

Maven复制Angular(Nx)项目文件失败:ts-node-cwd无法复制

排查Nx+Spring Boot集成中maven-resources-plugin复制ts-node-cwd失败的问题

1. 检查maven资源插件的过滤与排除规则

maven-resources-plugin默认的资源过滤可能会破坏特殊文件,或者你不小心配置了错误的排除规则:

  • 打开pom.xml,检查maven-resources-plugin的<configuration>块,确认<excludes>里没有误写**/ts-node-cwd
  • 给该插件添加<filtering>false</filtering>,避免过滤处理ts-node生成的特殊文件
  • 也可以显式添加<includes>指定需要复制的文件,缩小扫描范围

2. 验证ts-node-cwd文件的实际属性

ts-node-cwd可能是符号链接或零字节文件,maven复制这类文件会出现异常:

  • Linux/macOS下执行ls -l src/main/resources/[你的Nx项目路径]/ts-node-cwd,Windows下用dir /a src\main\resources\[你的Nx项目路径]\ts-node-cwd,查看文件是否为符号链接或空文件
  • 如果是符号链接,在maven-resources-plugin里添加<useSymbolicLinks>true</useSymbolicLinks>配置(Windows环境可能需要管理员权限)
  • 如果是空文件,删除后重新执行npm install或nx build,让ts-node重新生成该文件

3. 调整前端插件的执行时机和输出目录

不要直接在src/main/resources中存放Nx项目,源码目录不应包含构建产物:

  • 把frontend-maven-plugin的构建目标(比如nx build)绑定到generate-resources阶段,确保在maven复制资源前完成前端构建
  • 让frontend-maven-plugin把产物输出到target/frontend-dist这类临时目录,再让maven-resources-plugin从这个目录复制到classpath,避免源码目录中混入临时文件

4. 检查ts-node版本与配置

你使用的ts-node 10.9.1可能存在路径生成的bug:

  • 尝试升级到10.x分支的最新版本(比如10.9.2),或者直接升级到12+的稳定版
  • 检查tsconfig.json或.nxrc中的cwd配置,确认生成的ts-node-cwd路径在maven的资源扫描范围内

5. 临时跳过该文件复制(应急方案)

如果这个文件不影响应用运行,直接在maven-resources-plugin里排除它:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>3.3.1</version>
  <configuration>
    <excludes>
      <exclude>**/ts-node-cwd</exclude>
    </excludes>
  </configuration>
</plugin>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:50:42