簡體   English   中英

Tomcat不能打仗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM