从 Spring Boot 项目部署战争

Posted

技术标签:

【中文标题】从 Spring Boot 项目部署战争【英文标题】:deploying war from spring boot project 【发布时间】:2018-07-05 13:52:55 【问题描述】:

我正在尝试基于 spring-boot 项目创建可部署的 WAR,但是当我运行 mvn clean install 时出现以下异常

嵌套异常是 java.lang.IllegalArgumentException:无法解析值“classpath:endpoints-$env.properties”中的占位符“env”

$env 是一个 VM 参数 -Denv=dev

我该怎么办?

【问题讨论】:

在你的 pom.xml 中为 env 设置了什么默认值? @DamCx pom 中没有默认值,它是一个 vm 参数 【参考方案1】:

在你的 pom.xml 你必须改变:

<packaging>jar</packaging>

为:

<packaging>war</packaging>

之后,你必须编译:mvn clean package

这样你就可以用spring-boot编译一个war。 但是,我不知道你是否可以使用 -Denv 参数。

【讨论】:

以上是关于从 Spring Boot 项目部署战争的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jenkins 部署 Spring Boot Maven 应用程序?

部署在tomcat上的Spring Boot无法启动

在tomcat 8上部署战争时未加载Spring Boot应用程序

如何将 Spring Boot 应用程序战争部署到 AWS Elastic Beanstalk?

Tomcat中的spring-boot应用程序战争部署,现有的spring web应用程序失败

如何在 OpenShift 上部署多模块 maven spring boot 应用程序