我在Eclipse中开发了一个动态web项目。 我可以通过我的浏览器使用以下URL访问应用程序:

http://localhost:8080/MyDynamicWebApp

我想更改访问URL为:

http://localhost:8080/app

为此,我更改了项目“Properties | Web项目设置| context root”中的上下文根。 但是,web应用程序仍然具有相同的访问URL。我在Tomcat上重新部署了应用程序,并重新启动了Tomcat,但是访问URL与前面相同。

我发现WAR文件中没有附加server.xml文件。如果没有附加server.xml文件,Tomcat如何确定我的web应用程序的上下文根是/MyDynamicWebApp,并允许我通过这个上下文根URL访问应用程序?


当前回答

在项目属性中更改上下文根后,您必须从Tomcat中删除您的web应用程序(使用Add and remove…在服务器的上下文菜单上),重新部署,然后重新添加应用程序并重新部署。这对我很管用。

如果您感到震惊,您还有另一种选择:在Servers视图中选择Tomcat服务器。双击该服务器(或在上下文菜单中选择Open)会出现一个多页编辑器,其中有一个Modules页面。在这里,您可以更改模块的根上下文(在此页上称为Path)。

其他回答

在Eclipse web模块编辑对话框中将路径设置为空,使我能够在没有URL中的任何路径组件(即ROOT)的情况下访问项目。

如果你在“Servers”视图中选择Tomcat,或者双击Tomcat,按F3就可以进入web模块编辑对话框。

一些截图:

如果使用eclipse部署应用程序。我们可以使用这个maven插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.10</version>
    <configuration>
        <wtpversion>2.0</wtpversion>
        <wtpContextName>newContextroot</wtpContextName>
    </configuration>
</plugin>

现在转到项目根文件夹并在该位置打开CMD提示符 输入以下命令:

mvn eclipse:eclipse -dwtpversion=2.0

您可能需要重新启动eclipse,或者在服务器视图中删除服务器并重新创建以查看影响。我想知道这个练习在现实生活中是否有意义,但却很有效。

我只是想补充一点,如果你根本不想让你的应用程序名称在根上下文中,你只需在Eclipse—> Web项目设置—>上下文根条目中输入“/”(没有引号,只有正斜杠)

这将把web应用部署到http://localhost:8080/

当然,这将导致你试图在服务器上运行的其他web应用程序出现问题,所以要注意这一点。

我花了很长时间才把它拼凑起来…所以即使这篇文章已经8年了,希望它仍然能帮助到一些人!

如果项目是maven,则将pom.xml中的“finalName”更改为maven,并将项目更新为maven。这对我很管用。

在项目属性中更改上下文根后,您必须从Tomcat中删除您的web应用程序(使用Add and remove…在服务器的上下文菜单上),重新部署,然后重新添加应用程序并重新部署。这对我很管用。

如果您感到震惊,您还有另一种选择:在Servers视图中选择Tomcat服务器。双击该服务器(或在上下文菜单中选择Open)会出现一个多页编辑器,其中有一个Modules页面。在这里,您可以更改模块的根上下文(在此页上称为Path)。