2 回答

TA贡献1831条经验 获得超10个赞
最好从这里获取一个可用的 spring boot 应用程序,以避免版本冲突等。对于war-file 部署(例如到本地 tomcat),您的应用程序必须扩展 SpringBootServletInitializer:
@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootTomcatApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringBootTomcatApplication.class);
}
}
改变你pom的 packagingto war。
<packaging>war</packaging>
要生成war-file,您只需要spring-boot-maven-plugin:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
是的,你不需要maven-war-plugin。仅出于测试目的,让我们注释我们的应用程序@RestController并引入一个简单的端点:
@RestController
@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {
...
@RequestMapping(value = "/")
public String hello() {
return "Hello World from Tomcat";
}
}
在Local terminal(在 eclipse Ctrl+Alt+T 中)只需输入而不是从文件夹mvn package复制生成的文件,将其粘贴到本地 Tomcat 的文件夹下,请求http://localhost:8080/ {your-application-name} 然后你应该看到消息。现在您可以添加所需的依赖项并继续编码。 wartargetwebappsHello World from Tomcat

TA贡献1848条经验 获得超2个赞
在 pom.xml 中添加带有版本详细信息的包装类型,例如
<packaging>jar</packaging>
要么
<packaging>war</packaging>
然后,附加构建标签来定义 jar / war 的名称,例如,
<build>
<finalName>YOUR-APP_NAME</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后,以目标运行您的应用程序
清洁包装
在目标文件夹中创建 jar/war。
将您的 war 文件重命名为 ROOT,如 ROOT.war
最后一步将您创建的 jar/war 复制到 tomcat webapps 文件夹中并启动 tomcat。
添加回答
举报