使用Tomcat在Eclipse中运行Web服务时出现相同路径错误的多个上下文

时间:2011-08-30 06:50:23

标签: eclipse web-services tomcat axis

这是我使用Eclipse创建第一个Axis2 Web服务时遇到的错误。在我编写类之后,我使用Apache Axis2创建了Web服务。当我在eclipse中单击启动服务器按钮时,它会显示一条错误消息:

  

无法发布Tomcat v6.0 Server的服务器配置   本地主机。
  多个上下文的路径为“/ FirstApache”。

FirstApache是​​我之前创建的动态Web项目。我从Web服务向导的配置部分中选择了正确的Web项目。

我该如何解决这个问题?

20 个答案:

答案 0 :(得分:249)

搜索server.xml文件并检查<Context>标记,可能是同一路径有多个定义。删除重复项,它应该适合你。

查看the answer here

自动格式化xml文件( control + shift + f ),因为第二个<Context>标记可能位于同一条线,但在视口外,离可见光线很远。

答案 1 :(得分:62)

在STS / Eclipse中转到“项目浏览器”或“包浏览器”和 有一个名为“服务器”的文件夹。打开它,你会发现server.xml文件。在这个底部的文件中你会找到像

这样的定义
<Context docBase="myproject" path="/myproject" reloadable="true"
   source="org.eclipse.jst.jee.server:myproject"/>

您可能会发现需要删除相同定义的重复项。

答案 2 :(得分:39)

在Eclipse中,转到 Servers 项目。打开您正在使用的Tomcat版本的树。打开文件 server.xml 并验证您的Context标签。

答案 3 :(得分:18)

在项目浏览器的eclipse IDE中,访问server.xml,如:

enter image description here

删除带有项目重复参考的上下文标记:

enter image description here

答案 4 :(得分:13)

转到server.xml并使用媒体资源名称"Context"搜索"docBase"代码。

在此处删除重复的行。然后尝试重新启动服务器。

答案 5 :(得分:12)

转到eclipse中的Servers项目,在运行时服务器配置下(在我的情况下是localhost-config中的Tomcat v7.0服务器)转到 server.xml 文件,然后搜索&lt; context&gt;标签,  通常,您会找到多个上下文标记,删除它们并在适当的服务器中运行您的应用程序。

在我的情况下,我找到了重复的Context标签:

<Context docBase="my-project" path="/my-project" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/&gt;&lt;Context docBase="my-project" path="/smartphone-selfcare" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/></Host>

答案 6 :(得分:9)

在使用tomcat的eclipse中你只需打开这个server.xml文件并找到Context标签,在这里你可以看到你的上下文名称就是一个你只需要删除无用的上下文并重启你的服务器就可以了....

enter image description here

答案 7 :(得分:5)

  1. 在项目的属性中,选择&#34; Web项目设置&#34;。
  2. 更改&#34;上下文根&#34;。
  3. 清理服务器
  4. 现在您可以重新启动服务器

答案 8 :(得分:3)

只需删除Eclipse中的服务器并再次添加tomcat服务器即可。而不是关闭tomcat / bin / shutdown.bat文件中的tomcat并在eclipse中启动服务器。

答案 9 :(得分:3)

Eclipse&gt;&gt; project explorer&gt;&gt;服务器&gt;&gt; server.xml&gt;&gt;标签&gt;&gt;删除项目的重复标记

答案 10 :(得分:2)

尝试删除服务器控制台中的现有tomcat服务器。如果您没有控制台,则可以转到“显示视图 - &gt;服务器”,右键单击删除服务器,然后添加新服务器。

答案 11 :(得分:2)

如果您使用的是Tomcat 7和Eclipse,请单击Tomcat服务器,然后转到模块选项卡。在那里你会找到重复的条目。删除该条目并重新部署该应用程序。你现在好了。

答案 12 :(得分:2)

在相关的说明中,如果您复制了项目或任何情况,为2个“活动”项目设置相同的上下文路径,则必须更改其中一个项目的上下文路径,然后清除tomcat服务器设置,然后重新发布服务器

请参阅this in-more detailed answer

答案 13 :(得分:1)

我以前遇到过这个问题。我刚刚通过扩展tomcat树并删除导致冲突的文件夹来解决它。在你的情况下是/FirstApache。删除后。然后你重新运行它,你应该能够运行。如果再次发生,请将其删除并重试。

答案 14 :(得分:0)

当您复制项目而不是过去的项目,然后更改该项目的名称时,会发生此错误。

在这种情况下,请执行以下步骤。

步骤1:您需要编辑web.xml文件。 删除先前项目的servlet和servlet映射。

步骤2:进入SERVER-> server.xml->查找上下文

示例:-上下文docBase =“ JSPandServletDemo” path =“ / JSPandServletDemo” reloadable =“ true” source =“ org.eclipse.jst.jee.server:JSPandServletDemo” />

现在,您只需要将路径名更改为当前项目名称即可。

祝你好运 快乐编码:)

答案 15 :(得分:0)

从wrokspace的.metadata / .plugins中删除org.eclipse.wst.server.core和org.eclipse.wst.server.ui

从eclipse中删除服务器,然后在eclipse中重新配置服务器。

答案 16 :(得分:0)

在我的情况下,我在标签下的localhost-config / server.xml的Servers / Tomcat5.5中找到了重复路径。删除重复项解决了这个问题。

答案 17 :(得分:0)

删除代码开头的server.xml或context.xml中的空格或空行

答案 18 :(得分:-1)

如果您正在使用STS而您的服务器是Pivotal只需双击服务器并转到&gt;模块选项卡&gt;显示在此服务器上配置Web模块。&gt;您可以删除模块并再次运行。< / p>

答案 19 :(得分:-1)

 //Trying to do more than one thing to the object in the same context, 
//the solution is to work on single context objects

public class SingletonContext<TContext>
    where TContext: DbContext,new()
{
    private static TContext _context;

    private SingletonContext()
    {

    }
    public static TContext GetInstance()
    {
        if (_context == null)
        {
            _context = new TContext();
        }
        return _context;
    }

}