Tomcat을 사용하여 Eclipse에서 웹 서비스를 실행하는 동일한 경로 오류가있는 다중 컨텍스트


130

이것은 Eclipse를 사용하여 첫 번째 Axis2 웹 서비스를 작성할 때 발생하는 오류입니다. 클래스를 작성한 후 Apache Axis2를 사용하여 웹 서비스를 작성했습니다. 일식에서 서버 시작 버튼을 클릭하면 오류 메시지가 나타납니다.

localhost에서 Tomcat v6.0 Server에 대한 서버 구성을 공개 할 수 없습니다.
여러 컨텍스트에는 "/ FirstApache"경로가 있습니다.

FirstApache는 내가 전에 만든 동적 웹 프로젝트입니다. 웹 서비스 마법사의 구성 부분에서 올바른 웹 프로젝트를 선택했습니다.

이 문제를 어떻게 해결할 수 있습니까?

답변:


276

server.xml파일을 검색하고 <Context>태그를 확인하십시오 . 아마도 동일한 경로에 대한 여러 정의가있을 수 있습니다. 중복을 제거하면 효과가 있습니다.

여기서 답변을 확인 하십시오 .

두 번째 태그는 동일한 행에 있지만 뷰포트 외부에 있고 실제로는 표시되지 않는 xml 파일 이므로 xml 파일 ( control+ shift+ f) 의 자동 서식을 지정하십시오 <Context>.


13
작업 공간 \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ conf에서 server.xml 파일을 찾을 수 있습니다 (이클립스 기본 서버가 아닌 경우 tmp0 변경)
Repoker

Eclipse java ee에서 동적 웹 프로젝트의 사본을 작성하고 대신 사본에서 JSP를 실행하려고 시도한 후이 문제가 발생했습니다. 이 문제를 어떻게 해결합니까?
Erran Morad

다른 쓸모없는 "감사"를 피하기 위해 보호해야합니다. 답변에 대한 투표는 감사 의견보다 낫습니다.
Dwhitz

고마워, 작동하지만 왜이 중복이 발생하는지 혼란 스럽습니까?
Sandip S.

이 솔루션은 여전히 ​​작동합니다. Eclipse V2018-12에서 Tomcat 8.5를 사용하고 있습니다.
Raymund Arthur

70

STS / Eclipse에서 "project explorer"또는 "package explorer"로 이동하면 "server"라는 폴더가 있습니다. 그것을 열면 server.xml파일 을 찾을 수 있습니다. 하단 의이 파일 안에는 다음과 같은 정의가 있습니다.

<Context docBase="myproject" path="/myproject" reloadable="true"
   source="org.eclipse.jst.jee.server:myproject"/>

제거해야하는 동일한 정의의 중복을 찾을 수 있습니다.


1
서버의 삭제를 추가하면 한 번 더 자동으로이 줄을 추가
Vinayak Shedgeri

이 후에도 앱이 시작되지 않으면 콘솔 옆의 "서버"탭으로 이동하여 서버 이름 드롭 다운 안에있는 모든 모듈을 제거하십시오. 이후 프로젝트를 다시 실행
Sameer Sinha

41

Eclipse에서 서버 프로젝트 로 이동하십시오 . 사용중인 Tomcat 버전의 트리를여십시오. server.xml 파일을 열고 컨텍스트 태그를 확인하십시오.


28

프로젝트 탐색기의 Eclipse IDE에서 server.xml은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

프로젝트에 대한 중복 참조가 포함 된 컨텍스트 태그를 제거하십시오.

여기에 이미지 설명을 입력하십시오


16

속성 이름으로 태그로 이동하여 server.xml검색하십시오 ."Context""docBase"

여기서 중복 줄을 제거하십시오. 그런 다음 서버를 다시 시작하십시오.


12

이클립스에서 서버 프로젝트로 이동하고 런타임 서버 구성 (내 경우에는 localhost-config의 Tomcat v7.0 Server)에서 server.xml 파일로 이동 한 다음 <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>

10

Tomcat을 사용하는 이클립스 에서이 server.xml 파일을 열고 컨텍스트 태그를 찾으면 컨텍스트 이름이 쓸모없는 컨텍스트를 삭제하고 서버를 다시 시작하는 것보다 더 많은 것을 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오


5
  1. 프로젝트의 속성에서 "웹 프로젝트 설정"을 선택하십시오.
  2. "컨텍스트 루트"를 변경하십시오.
  3. 서버 청소
  4. 이제 서버를 다시 시작할 수 있습니다

워크 스테이션의 다른 위치에서 동일한 응용 프로그램의 둘 이상의 인스턴스를 사용하는 개발자에게 탁월한 솔루션입니다. Eclipse / Tomcat의 모든 설치에서 server.xml 파일에 <Context> 태그가있는 것은 아닙니다.
Mindsect 팀

5

이클립스 >> 프로젝트 탐색기 >> 서버 >> server.xml >> 태그 >> 프로젝트의 중복 태그 제거


3

Eclipse에서 서버를 제거하고 Tomcat 서버를 다시 추가하십시오. tomcat / bin / shutdown.bat 파일에서 Tomcat을 종료하고 일식으로 서버를 시작하십시오.


2

서버 콘솔에서 기존 Tomcat 서버를 삭제하십시오. 콘솔이 없으면 "보기 표시-> 서버"로 이동하여 마우스 오른쪽 버튼을 클릭하여 서버를 삭제 한 다음 새 서버를 추가하십시오.


2

Tomcat 7 및 Eclipse를 사용하는 경우 Tomcat 서버를 클릭 한 후 모듈 탭으로 이동하십시오. 중복 항목이 있습니다. 항목을 모두 제거하고 애플리케이션을 재배치하십시오. 당신은 지금 가도 좋습니다.


2

관련 참고 사항에 따라 프로젝트를 복사했거나 어쨌든 2 개의 '활성'프로젝트에 대해 동일한 컨텍스트 경로가있는 경우 프로젝트 중 하나의 컨텍스트 경로를 변경 한 다음 Tomcat 서버 설정을 정리 한 다음 서버를 다시 게시해야합니다

이 자세한 답변을 참조하십시오


1

나는 전에 그 문제가 있었다. Tomcat 트리를 확장하여 충돌을 일으킨 폴더를 삭제하여 해결했습니다. 귀하의 경우입니다 /FirstApache. 삭제 한 후 그런 다음 다시 실행하면 실행할 수 있어야합니다. 다시 발생하면 삭제 한 후 다시 시도하십시오.


0

코드 시작 부분에서 server.xml 또는 context.xml에서 공백 또는 빈 줄제거하십시오.


0

필자의 경우 server / Tomcat5.5에서 localhost-config / server.xml의 태그 아래에서 중복 경로가 발견되었습니다. 중복을 제거하면 문제가 해결되었습니다.


0

wrokspace의 .metadata / .plugins에서 org.eclipse.wst.server.core 및 org.eclipse.wst.server.ui를 삭제하십시오.

일식에서 서버를 삭제 한 다음 일식에서 서버를 재구성하십시오.


0

이 오류는 프로젝트를 과거보다 복사 한 다음 해당 프로젝트의 이름을 변경할 때 발생합니다.

이 경우 다음 단계를 수행하십시오.

1 단계 : web.xml 파일을 편집해야합니다. 이전 프로젝트의 서블릿 및 서블릿 매핑을 제거합니다.

2 단계 : SERVER-> server.xml-> 컨텍스트 찾기

예 :-컨텍스트 docBase = "JSPandServletDemo" path = "/ JSPandServletDemo"reloadable = "true"source = "org.eclipse.jst.jee.server : JSPandServletDemo"/>

이제 경로 이름을 현재 프로젝트 이름으로 변경하면됩니다.

행운을 빕니다 행복한 코딩 :)


-1

STS를 사용 중이고 서버가 Pivotal 인 경우 서버를 두 번 클릭하고> 모듈 탭> 디스플레이에서이 서버에서 웹 모듈 구성>으로 이동하십시오.> 모듈을 제거하고 다시 한 번 실행할 수 있습니다.


-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;
    }

}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.