sat*_*ish 25 java spring tomcat spring-mvc maven
我已经创建了spring boot web应用程序,但我无法在tomcat上部署spring boot web应用程序WAR文件,我可以将其作为java应用程序运行.如何在tomcat上将spring boot应用程序作为Web服务运行.我正在使用以下代码.如果可以在tomcat上运行,请在不使用web.xml和使用web.xml的情况下帮助我使用注释.
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
以下代码为休息控制器
@RestController
public class HelloWorld{
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public ResponseEntity<String> get() {
return new ResponseEntity<String>("Hello World", HttpStatus.OK);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Pom.xml
<groupId>org.springframework</groupId>
<artifactId>web-service</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.6</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
<packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)
Omk*_*kar 32
以下是有关如何将Spring BootApp 部署为war文件的两个好文档.
你可以按照这个春季启动howto-traditional-deployment 文档 -
根据此文档的步骤 -
您更新应用程序的主类以进行扩展 SpringBootServletInitializer.
下一步是更新构建配置,以便项目生成war文件而不是jar文件. <packaging>war</packaging>
标记所提供的嵌入式servlet容器依赖项.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)还有一种方式 -
请参阅本春季io文档,其中概述了如何将spring boot应用程序部署到应用程序服务器.
脚步 -
将jar包装改为war.
注释掉spring-boot-maven-plugin你的插件声明pom.xml
通过扩展SpringBootServletInitializer和覆盖configure方法,将Web入口点添加到应用程序中
删除spring-boot-starter-tomcat dependency并修改您的spring-boot-starter-web依赖项
Run Code Online (Sandbox Code Playgroud)<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency>
在你的pom.xml,删除spring-beans和spring-webmvc依赖.该spring-boot-starter-web依存度将包括那些依赖条件.
Tom*_*ian 12
Spring引导提供了将应用程序部署为支持tomcat服务器的传统war文件servlet 3.x(不带web.xml)的选项.请参阅spring boot文档.我将简要介绍一下你需要做什么.
第1步:修改pom.xml以将包装更改为战争:(您已经做过)
<packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)
第2步:改变你的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)
至
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
第3步:pom.xml在<build>标签下修改您的战争名称(如果您需要避免附加战争名称的版本详细信息).
<build>
<finalName>web-service</finalName>
.....
Run Code Online (Sandbox Code Playgroud)
第4步:运行maven build来创建war:clean install
第5步:web-service.war在tomcat中部署生成的war文件,并在浏览器中请求urlhttp://<tomcat ip>:<tomcat port>/web-service/hello
你应该得到Hello World.
注意:您也可以删除多余的依赖项,如@Ali Dehghani所说.
小智 0
将 Spring Boot jar 转换为 Spring Boot War 的过程记录在:http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#build-tool-plugins-maven-packaging Long简而言之,按照示例中的方式设置入门类,然后在 .pom 文件中将打包从 jar 切换为 war。此外,您需要将 spring-boot-starter-tomcat 依赖项设置为provided。再次,该过程以完整形式记录在上面的链接中。有关此主题的更多信息,请参阅 spring io 指南“将 Spring Boot JAR 应用程序转换为 WAR”,该指南位于https://spring.io/guides/gs/convert-jar-to-war/ 如果我如果您有任何进一步的帮助,请告诉我,我会帮助您。
| 归档时间: |
|
| 查看次数: |
69058 次 |
| 最近记录: |