我在用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中,但它并没有更改上下文路径
问题的根本原因是使用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