簡體   English   中英

Spring Boot / Gradle / Tomcat將上下文路徑設置為除.war名稱之外的其他內容

[英]Spring Boot/Gradle/Tomcat setting context path to something other than the .war name

我正在使用Spring Boot和Gradle來制造戰爭。

war {
    baseName = 'foo'
    version =  '0.1.0'
}

由於war任務具有版本號,因此生成的war名稱為foo-0.1.0.war ,因此當部署到Tomcat時,上下文路徑為http://localhost/foo-0.1.0/

我想使用上下文路徑' bar '省略版本號並使用不同的路徑。

http://localhost/bar

這是否可以使用Spring注釋? 我已經嘗試更改@RequestMapping但這只會將上下文更改為http://localhost/foo-0.1.0/bar

按照這里的答案, 這里嘗試將上下文xml片段添加到<catalina_home>/conf/Catalina/localhost/

<Context docBase="/foo-0.1.0" path="/bar" reloadable="true"> </Context>

但是雖然Tomcat是取消部署/foo-0.1.0我得到錯誤:

WARNING: A docBase C:\tools\apache-tomcat-7.0.53\webapps\foo-0.1.0 inside the host appBase has been specified, and will be ignored.

我是否錯誤地配置了Context?

如果設置上下文是正確的解決方案,我如何將其添加到我的項目中,因為春天啟動似乎在編譯應用程序時生成web-inf文件夾?

我已經嘗試將context.xml添加到/src/main/webapp/META-INF ,雖然它包含在戰爭中它不會改變上下文路徑

在此輸入圖像描述

問題的根本原因是使用Manger GUI來部署應用程序,使用“WAR文件部署”'工具'似乎使用war名稱即使提供了上下文

Manager  - 要部署的war文件

使用Gradle Cargo插件我已經能夠使用\\src\\main\\resources的context.xml並使用build.gradle中的上下文根據需要部署應用程序

cargo {
    containerId = 'tomcat7x'
    port = 80

    deployable {
        context = 'bar'
    }
...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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