Answers:
搜索server.xml
文件并检查您的<Context>
标签,同一路径可能有多个定义。删除重复项,它应该适合您。
自动格式化xml文件(control+ shift+ f),因为第二个<Context>
标记可能在同一行上,但是在视口之外并且与可见标记确实相距很远。
在STS / Eclipse中,转到“项目资源管理器”或“程序包资源管理器”,然后有一个名为“服务器”的文件夹。打开它,您将找到server.xml
文件。在该文件的底部,您可以找到类似的定义
<Context docBase="myproject" path="/myproject" reloadable="true"
source="org.eclipse.jst.jee.server:myproject"/>
您可能会发现需要删除相同定义的重复项。
在Eclipse中,转到“ 服务器”项目。打开您正在使用的Tomcat版本的树。打开文件server.xml并验证您的Context标签。
转到server.xml
并搜索"Context"
带有属性名称的标签"docBase"
。
在此处删除重复的行。然后尝试重新启动服务器。
转到eclipse中的Servers项目,在运行时服务器配置下(在我的情况下为localhost-config的Tomcat v7.0 Server)转到server.xml文件,然后搜索<context>标记,通常您会找到多个上下文标记,将其删除,然后在可以正常运行的适当服务器中运行您的应用程序。
就我而言,我发现重复的Context标签:
<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>
在使用tomcat的eclipse中,您只需打开此server.xml文件并找到Context标签,在这里您会看到上下文名称更多,然后只需删除无用的上下文并重新启动服务器即可使用...。
与此相关的是,如果您复制了一个项目,或者无论如何,对于两个“活动”项目都具有相同的上下文路径,则必须更改其中一个的上下文路径,然后清理tomcat服务器设置,然后重新发布服务器
看到这个更详细的答案
在代码开头删除 server.xml或context.xml中的空格或空行
从wrokspace的.metadata / .plugins删除org.eclipse.wst.server.core和org.eclipse.wst.server.ui
从eclipse中删除服务器,然后在eclipse中重新配置服务器。
当您复制项目而不是过去时,会发生此错误,然后更改该项目的名称。
在这种情况下,请执行以下步骤。
步骤1:您需要编辑web.xml文件。删除先前项目的servlet和servlet映射。
步骤2:进入SERVER-> server.xml->查找上下文
示例:-上下文docBase =“ JSPandServletDemo” path =“ / JSPandServletDemo” reloadable =“ true” source =“ org.eclipse.jst.jee.server:JSPandServletDemo” />
现在,您只需要将路径名更改为当前项目名称即可。
祝你好运编码:)
//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;
}
}