我正在使用 Jhipster 开发一个 Spring 应用程序。
当我需要部署时,我使用mvn -Pprod package
. 此命令生成 2 个 War 文件:xxx.war
和xxx.original.war
. 我将xxx.original
War 文件部署在本地 Tomcat 中。
尽管我确信这是正确的过程,但应用程序的行为仍然与使用 DEV 配置文件时一样。
是否支持生产模式?
我正在使用 Jhipster 开发一个 Spring 应用程序。
当我需要部署时,我使用mvn -Pprod package
. 此命令生成 2 个 War 文件:xxx.war
和xxx.original.war
. 我将xxx.original
War 文件部署在本地 Tomcat 中。
尽管我确信这是正确的过程,但应用程序的行为仍然与使用 DEV 配置文件时一样。
是否支持生产模式?
Jhipster支持生产模式,就是上面详述的过程,根本不完整。
原因
该-Pprod
参数用于分析生产模式的构建,但它并没有告诉 Tomcat 实际启用该模式,因此它回退到默认的“开发”模式。
解决方案
如Jhipster 在线文档中所述,要启用生产模式,只需添加-Dspring.profiles.active=prod
到您的JAVA_OPTS
. 例如,您可以通过编辑<tomcat-home>/bin/setenv.sh / .bat
文件来实现此目的。
您可以在 conf/catalina.properties 添加以下内容
spring.profiles.active=产品
让tomcat选择产品配置文件。
如果没有提供配置文件 - JHipster 选择默认配置文件 - 这是 dev。
你可以看看 ApplicationWebXml.java, Application.java 看看,dev profile 是默认的。
我们为避免任何问题所做的另一项更改是
将 prod 设置为 master 中的默认配置文件
将 dev 作为默认配置文件保留在开发分支中(发生主动开发的地方)
使用此命令打包:
./mvnw -Pprod -Dspring.profiles.active=prod package