gpt4 book ai didi

java - 使用 maven 为 spring-boot web 应用程序生成工作 war 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:17 26 4
gpt4 key购买 nike

我们有一个 maven 管理的 spring-boot 应用程序,我们现在需要使用 WAR 文件将其部署到 tomcat 中。在开发过程中,我们使用 maven 通过以下命令启动嵌入式 tomcat:

mvn -D"-classpath %classpath package.path.App" -D"exec.executable=java" process-classes org.codehaus.mojo:exec-maven-plugin:1.2.1:exec

我可以通过运行 mvn war:war 构建一个 war 文件,但是如果我尝试部署生成的 war,则会产生一个错误:

SEVERE: ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext
...
Caused by: java.lang.IllegalStateException: No SpringApplication sources have been defined. Either override the configure method or add an @Configuration annotation

我尝试将 mainClass 指令添加到 maven-war-plugin 的配置中,但无济于事。

最佳答案

我按照邓尼的建议成功地建立了一场 war 。

基本上,我需要在扩展 SpringBootServletInitializer 的类上添加一个 @SpringBootApplication 注释,并覆盖它的 configure 方法。

所以我的代码的差异是这样的:

+@SpringBootApplication
public class WebAppInitializer extends SpringBootServletInitializer {

+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(App.class);
+ }

我仍然有一个错误,但只是在 Spring 开始后,但我会在另一个问题中问这个问题。

关于java - 使用 maven 为 spring-boot web 应用程序生成工作 war 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28883749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com