[英]Tomcat cant run war
我從https://start.spring.io/(gradle kotlin項目)下載了演示webapp。 為'/'和'/ test'添加了2個控制器,只是為了測試一切是否正常。 這是代碼:
@Controller
class IndexController {
@ResponseBody
@GetMapping("/")
fun main() : String {
return "Hello World"
}
@Controller
class TestController {
@ResponseBody
@GetMapping("/test")
fun main() : String {
return "test"
}
然后我將戰爭插件添加到gradle
apply plugin: 'war'
然后我打印到終端
gradlew build
並在build / libs中找到.war文件。 我將其部署到本地的Tomcat,但是
http://localhost:8080/demo-0.0.1-SNAPSHOT/
http://localhost:8080/demo-0.0.1-SNAPSHOT/test
回應404錯誤。
在IDEA中,我可以輕松啟動我的應用並查看Hello World和測試。
有任何想法嗎?
[JAR文件]
您在控制器中缺少導入。
在控制器中放置低於進口的價格。
package com.example.demo
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
現在刪除插件apply plugin: 'war'
並使用gradlew build
構建項目
它將在app_name \\ build \\ libs內創建一個jar文件
在命令提示符下打開此位置,然后在命令下方運行。
java -jar <jar_file_name>.java
使用以下網址打開應用程序。
http://localhost:8080
[WAR文件]
如下擴展SpringBootServletInitializer
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
class DemoApplication : SpringBootServletInitializer()
將插件apply plugin: 'war'
並使用gradlew build
構建項目
現在在app_name \\ build \\ libs內部,它將創建一個war文件。
將此戰爭部署到tomcat服務器並使用以下URL訪問:
http://localhost:8080/demo-0.0.1-SNAPSHOT/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.