首页 > 解决方案 > Jhipster,弹簧,角罐工作,但不是战争工作

问题描述

我用 Jhipster 创建了 spring + angular + gradle。

我先做

npm install

然后,我运行这个命令:

./gradlew -Pprod -Pwar clean bootWar     

内容为 gradle/war.gradle:

apply plugin: "war"

bootWar {
    mainClassName = "com.bpn.legolas.ExtractAccountApp"
    includes = ["WEB-INF/**", "META-INF/**"]
    webXml = file("${project.rootDir}/src/main/webapp/WEB-INF/web.xml")
}

war {
    webAppDirName = "build/resources/main/static/"
    webXml = file("${project.rootDir}/src/main/webapp/WEB-INF/web.xml")
    enabled = true
    archiveExtension = "war.original"
    includes = ["WEB-INF/**", "META-INF/**"]

}

它制造了一场战争。但是当我部署到另一台机器到tomcat时,我得到了错误页面:

发生错误 :-( 常见错误原因 您从 IDE 启动应用程序,但没有运行 npm start 或 npm run webpack:build。运行 npm install 时出现网络错误。如果您使用公司代理,这个错误很可能是由您的代理引起的。查看 JHipster 错误日志,您可能会找到错误的原因。您安装的 Node.js 版本不适用于 JHipster:请使用 LTS (长期支持)版本,因为它是我们唯一支持的版本。再次构建客户端代码如果您想快速运行,请运行 ./mvnw 构建并运行所有内容。

如果您想拥有更多控制权,以便更轻松地调试问题,则应遵循以下步骤:

使用命令 npm install 安装 npm 依赖项 使用命令 npm run webpack:build 或 npm start 构建客户端 使用 ./mvnw 或使用您的 IDE 启动服务器 获得更多帮助 如果您对如何使用 JHipster 有疑问,请转到 Stack Overflow带有“jhipster”标签。

如果您有错误或功能请求首先阅读我们的贡献指南。

然后,在我们的错误跟踪器上填写一张票,我们将很乐意解决您的问题!

如果您想与贡献者和其他用户聊天,请加入我们在 Gitter.im 上的聊天室。请注意,这是一个公共聊天室,我们希望您尊重他人并用正确的英语写作!

对于相同的步骤,我导出为 jar。

第一的

npm install

然后

./gradlew -Pprod -Pjar clean bootJar 

比在那台机器上,我做

java -jar xxxx.jar

它有效!但是对于战争,正如我之前所说,它不起作用。它说关于npm install orwebpack`

请帮帮我。

步骤 1- 我的战争名称是halil-0.0.1-SNAPSHOT.war 2- 我把 webapps 放在tomcat 3- 然后我去:

http://localhost:8080/halil-0.0.1-SNAPSHOT/

4- 我看到我在屏幕截图中输入的错误。页面中的错误 我在这个问题中作为文本发布 5-Javascript 控制台显示了这些错误: 控制台中的错误 6-网络显示了这些错误: 网络选项卡中的错误 7-当我转到 http://localhost:8080/halilhttp://localhost:8080/时

它带来了404页面

标签: javatomcatgradlejhipsterwar

解决方案


当我尝试在我的 Jhipster 项目中从 Angular 4 迁移到 Angular 12 时,我遇到了同样的问题。

问题是在创建战争之前没有创建静态文件夹:

  • gradle 脚本错误(npm 构建在战前以正确的步骤运行)

所以我按照以下步骤解决了它:

  • 运行npm build,因此创建了静态文件夹(您必须确保静态文件夹的确切路径正确)
  • 检查静态文件夹是否是在您的战争期望的路径中创建的
  • ./gradlew -Pprod -Pwar clean bootWar

推荐阅读