Multiple contexts with the same path error running web service in Eclipse using Tomcat
EclipseWeb ServicesTomcatAxisEclipse Problem Overview
This is the error that I got when I created my first Axis2 web service using Eclipse. After I wrote the class, I created the web service with Apache Axis2. When I click the start server button in eclipse it gives an error message:
> Could not publish server configuration for Tomcat v6.0 Server at
> localhost.
> Multiple contexts have a path of "/FirstApache".
FirstApache is the dynamic web project that I created before. I selected the correct web project from the configuration part in the web service wizard.
How can I fix this?
Eclipse Solutions
Solution 1 - Eclipse
Search for the server.xml
file and check your <Context>
tags, probably there are multiple definitions for the same path. Remove the duplicates and it should work for you.
Check out the answer here.
Auto-format the xml file (control + shift + f) since the second <Context>
tag may be on the same line, but outside the viewport and really far away from the visible one.
Solution 2 - Eclipse
In STS/Eclipse go to "project explorer" or "package explorer" and
there is a folder called "server." Open it and you will find server.xml
file. Inside this file at the bottom you find a definition like
<Context docBase="myproject" path="/myproject" reloadable="true"
source="org.eclipse.jst.jee.server:myproject"/>
You might find duplicates of the same definition that you would need to remove.
Solution 3 - Eclipse
In Eclipse, go to the Servers project. Open the tree for the Tomcat version you are using. Open file server.xml and verify your Context tags.
Solution 4 - Eclipse
In your eclipse IDE on project explorer acess the server.xml like in:
And remove context tags with duplicates references for your project:
Solution 5 - Eclipse
Go to server.xml
and Search for "Context"
tag with a property name "docBase"
.
Remove the duplicate lines here. Then try to restart the server.
Solution 6 - Eclipse
Go to the Servers project in eclipse, under your runtime server configuration(in my case Tomcat v7.0 Server at localhost-config) go to server.xml file then search for <context> tag, normally you will find more than one context tag, delete them and run your application in the appropriate server that will work now.
in my case i have found duplicate Context tag :
<Context docBase="my-project" path="/my-project" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/><Context docBase="my-project" path="/smartphone-selfcare" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/></Host>
Solution 7 - Eclipse
In eclipse using tomcat you just open this server.xml file and find Context tag and here you see your context name is more then one you just delete useless contexts and restart your server it will working....
Solution 8 - Eclipse
Eclipse >> project explorer >> servers >> server.xml >>
Solution 9 - Eclipse
- In your project's Properties, choose "Web Project Settings".
- Change "Context root".
- Clean your server
- now you can restart your server
Solution 10 - Eclipse
Simply remove the server in Eclipse and add tomcat server again. than shutdown the tomcat in tomcat/bin/shutdown.bat file and start the server in eclipse.
Solution 11 - Eclipse
Try to delete the existing tomcat server in the server console. If you don't have the console then you can go to "Show view ->server", delete the server by right clicking on it, then add a new server.
Solution 12 - Eclipse
If you are using Tomcat 7 and Eclipse, click on the Tomcat server and then goto the modules tab. There you will find the duplicate entry. Remove both the entry and redeploy the application. You are good to go now.
Solution 13 - Eclipse
On a related note, if you have copied a project or in anycase, have the same context path for 2 'active' projects, you have to change the context path of one of them, then clean the tomcat server settings, then republish the servers
Solution 14 - Eclipse
I had that problem before. I just solved it by expanding the tomcat tree and delete the folder that is causing the clash. in your case is /FirstApache
. after you delete it. then you rerun it, you should be able to run. If it happens again, delete it and try again.
Solution 15 - Eclipse
This error occurs when you copy a project than past it, and then you change the name of that project.
in such a case, follow the following steps.
Step-1: you need to edit your web.xml file. remove servlet and servlet-mapping of the previous projects.
Step-2: got to SERVER--> server.xml--> find context
Example :- Context docBase="JSPandServletDemo" path="/JSPandServletDemo" reloadable="true" source="org.eclipse.jst.jee.server:JSPandServletDemo"/>
now you just need to change the pathname to your current project name.
Good Luck Happy Coding :)
Solution 16 - Eclipse
Remove the space or empty line in server.xml or context.xml at the beginning of your code
Solution 17 - Eclipse
In my case I found duplicate paths in Servers/Tomcat5.5 at localhost-config/server.xml under
Solution 18 - Eclipse
Delete org.eclipse.wst.server.core and org.eclipse.wst.server.ui from .metadata/.plugins of wrokspace
delete the server from eclipse then reconfig the server in eclipse.
Solution 19 - Eclipse
Go to servers Click right at Tomcat click at Add and remove then click at remove all
Solution 20 - Eclipse
It is pretty easy to do for me. If you created the server and you know the path of the directory where the server files are located then one can simply open the server.xml file which is right inside the server's folder.
Just edit the file to remove repeated
Solution 21 - Eclipse
- In Eclipse, in Servers, expand Apache Tomcat
- Delete all the "Contexts"
Solution 22 - Eclipse
If you are using STS and your server is Pivotal Just double click on the server and go to >Modules tab >display Configure the Web Modules on this server.>you can just remove modules and run once again.
Solution 23 - Eclipse
//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;
}
}