当前位置: 首页 > 知识库问答 >
问题:

Spring boot/gradle/tomcat将上下文路径设置为.war名称以外的内容

闻人伟
2023-03-14

我在用Spring靴和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

<Context docBase="/foo-0.1.0" path="/bar" reloadable="true"> </Context>
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.xml添加到/src/main/webapp/meta-inf中,尽管它包含在war中,但它并没有更改上下文路径

共有1个答案

诸葛卜霸
2023-03-14

问题的根本原因是使用Manger GUI部署应用程序,使用“war文件部署”“tool”似乎使用war名称,即使提供了上下文

使用Gradle Cargo插件,我可以根据需要使用\src\main\resources中的context.xml和build.Gradle中的上下文部署应用程序

cargo {
    containerId = 'tomcat7x'
    port = 80

    deployable {
        context = 'bar'
    }
...
}
 类似资料:
  • 我们使用Spring Boot,我创建了一个WAR,而不是一个JAR,以部署在普通的Tomcat服务器上。似乎所有的工作都很好,只是上下文路径设置不正确。我的index.html中的任何相对路径都不工作。 在浏览器中加载应用程序时, 试图从http://localhost:port/app.min.css而不是http://localhost:port/contextpath/app.min.cs

  • 我有一个springboot项目。在远程tomcat服务器webapps目录上使用WAR包。ROOT是WAR项目,它有两个文件夹,WEB-INF和META-INF。如下所示 现在出现了一个问题,我上传的文件在项目根目录'upload-dir'目录下(您可以在下图中看到upload-dir位置)。不在WAR包中,也不在远程服务器上。我应该在远程服务器上的哪里创建这个新目录? 我使用Files.cre

  • 我的问题是这样的--假设我有一个war文件,叫做My-APP-123.war。我想把它部署在Tomcat服务器(9.0.x)上,让它自动解包。 然后可以通过http://localhost:8080/my-app-123访问该应用程序 有没有一种方法,不重命名war文件,就可以从http://localhost:8080/my-app访问应用程序? 在此之前,我将说,我意识到最简单的解决方案是只命

  • 我通过将上下文路径设置为/myservice来运行我的springboot应用程序。这将导致附加在URL处公开的所有执行器endpoint-http://localhost:8080/myservice/actuator/,而我只想要http://localhost:8080/actuator/.有没有办法告诉springboot忽略将上下文路径附加到执行器endpoint(通过Dispatche

  • 我有一个作为WAR部署的spring boot web应用程序。现在,当我将它部署到我的Tomcat7服务器时,它使用war文件的名称作为上下文,例如/myArtifactid-1.5.4.snapshot/。我想指定上下文路径,但是 似乎只适用于嵌入式Tomcat。我添加了一个meta-inf/context.xml,其中仅包含以下内容 但这并没有起到任何作用。

  • 在Spring-Boot应用程序中,可以使用中的属性来选择上下文路径,但是由于我使用的是外部Tomcat8,因此没有使用该属性。 因此,我查看了tomcat-8文档,其中指出: 如果要使用与基文件名无关的上下文路径部署WAR文件或目录,则必须使用以下选项之一来防止双重部署: null null