构建JHipster生产环境应用时遇Webpack相关错误求助
JHipster生产环境构建失败问题排查
问题详情
执行命令 mvnw -Pprod package -DskipTests 构建JHipster生产环境应用时失败,具体报错输出如下:
PROJET_DIRECTORY>npm run webapp:prod > guineeinfo@0.0.1-SNAPSHOT webapp:prod > npm run clean-www && npm run webapp:build:prod > guineeinfo@0.0.1-SNAPSHOT clean-www > rimraf target/classes/static/app/{src,target/} > guineeinfo@0.0.1-SNAPSHOT webapp:build:prod > ng build --configuration production / Generating browser application bundles (phase: setup)...DeprecationWarning: 'getMutableClone' has been deprecated since v4.0.0. Use an appropriate `factory.update...` method instead, use `setCommentRange` or `setSourceMapRange`, and avoid setting `parent`. / Generating browser application bundles (phase: sealing)...Error parsing bundle asset "PROJET_DIRECTORY\target\classes\static\742.e171a2405f5767cf.js": no such file ... [INFO] Error: Optimization error [982.7bfdac8536ec324c.js]: SyntaxError: Unexpected token: punc ({) ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:04 min [INFO] Finished at: 2023-01-28T04:58:49-05:00
环境信息:
- 依赖版本:generator-jhipster: "7.9.3"、webpack: "5.74.0"、webpack-bundle-analyzer: "4.6.1"
- 操作系统:Windows 10
- 额外情况:开发环境可正常编译,生产环境构建失败,最终报错提示:
(webapp build prod) on project guineeinfo: Failed to run task: 'npm run webapp:prod' failed. org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1),推测为Webpack相关问题。
解决方法
1. 清理缓存与重建
执行以下命令彻底清理缓存和旧构建产物,重新安装依赖后再尝试构建:
npm cache clean --force rimraf node_modules rimraf target npm install mvnw -Pprod package -DskipTests
2. 修复ES语法兼容性问题
报错中的SyntaxError: Unexpected token: punc ({)通常是代码中使用了未被转译的高版本ES语法,可通过以下方式处理:
- 打开
tsconfig.json,确认target字段设置为兼容的ES版本(如ES5或ES2015) - 检查
angular.json中configurations.production.buildOptions,确保配置了正确的target和polyfills,保证生产构建时完整转译所有语法
3. 解决Webpack依赖冲突
JHipster版本与Webpack可能存在隐性依赖冲突,尝试:
- 执行
npm dedupe合并重复依赖,消除版本不一致问题 - 若问题持续,可删除
package-lock.json后重新执行npm install,重新生成依赖锁文件
4. 排查Windows路径问题
Windows系统的路径分隔符可能导致文件解析异常,可尝试:
- 确保项目路径中无中文、空格或特殊字符
- 手动创建
target/classes/static目录后再执行构建命令,避免目录缺失导致的文件找不到错误
内容的提问来源于stack exchange,提问作者Mamadou Bhoye BARRY
相关产品推荐
相关产品推荐

