我已经阅读了一些其他的主题,这些主题是tomcat仅使用war文件进行部署。但是,Spring工具套件具有内部的tomcat服务器,该服务器需要jar进行部署。如果我错了请纠正我。
我做了google并找出了在tomcat中部署war文件的步骤,但是当遵循所有步骤并调用rest api时,找不到404。
@RestController
public class TestController {
@RequestMapping("/hello/{name}")
String hello(@PathVariable String name) {
return "Hello, " + name + "!";
}
}
@SpringBootApplication
public class WarDeploymentApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(WarDeploymentApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(WarDeploymentApplication.class);
}
}
buildscript {
ext {
springBootVersion = '2.0.5.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'war'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 10
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
编辑::我检查了所有的tomcat日志,应用程序已部署并解压缩。春天的旗帜来了。日志中没有错误。 日志中有映射。仅当使用url http://localhost:8081/hello/Admin访问rest api时,才会显示404。 原始服务器找不到目标资源的当前表示,或者不愿意透露其存在。
谢谢