[eclipse] Eclipse에서 동적 웹 프로젝트의 컨텍스트 루트를 변경하는 방법은 무엇입니까?

Eclipse에서 동적 웹 프로젝트를 개발했습니다. 다음 URL을 사용하여 브라우저를 통해 앱에 액세스 할 수 있습니다.

http://localhost:8080/MyDynamicWebApp

액세스 URL을 다음과 같이 변경하고 싶습니다.

http://localhost:8080/app

이를 위해 프로젝트 “속성 | 웹 프로젝트 설정 | 컨텍스트 루트”에서 컨텍스트 루트를 변경했습니다. 그러나 웹앱에는 여전히 동일한 액세스 URL이 있습니다. Tomcat에서 응용 프로그램을 다시 배포하고 Tomcat을 다시 시작했지만 액세스 URL은 이전과 동일합니다.

server.xml파일에 첨부 된 파일 이 없음을 발견했습니다 WAR. server.xml파일이 첨부되지 않은 경우 Tomcat은 내 웹 앱의 컨텍스트 루트가 무엇인지 판별 /MyDynamicWebApp하고이 컨텍스트 루트 URL을 통해 애플리케이션에 액세스 할 수있게 하는 방법은 무엇입니까?



답변

나는 당신이 지금까지 나아 갔다고 확신하지만 어쨌든 나는 대답 할 것이라고 생각했다.

이러한 답변 중 일부는 해결 방법을 제공합니다. 실제로 발생해야하는 것은 새 URI를 “활성화”하기 위해 프로젝트를 정리하고 다시 공개하는 것입니다. 서버보기에서 서버를 마우스 오른쪽 단추로 클릭하고 정리를 선택하면됩니다. 그런 다음 시작하거나 다시 시작하십시오. 여기에있는 다른 답변의 대부분은 실제로이 작업을 수행하는 작업을 제안합니다.

변경중인 파일은 workspace/.metadata/.plugins/org.eclipse.wst.server.core/publish/publish.dat작업 공간에 둘 이상의 서버 가 없는 경우를 제외하고는 publishN.dat동일한 경로에있는 파일입니다.

이것이 누군가를 돕기를 바랍니다.


이것이 적절한 에티켓인지 아닌지 확실하지 않습니다.이 답변을 편집하여 Eclipse Indigo에 정확한 단계를 제공하고 있습니다.

  1. 프로젝트의 속성 에서 웹 프로젝트 설정을 선택하십시오 .

  2. 컨텍스트 루트app으로 변경하십시오 .

    Eclipse 프로젝트 특성 웹 프로젝트 설정의 스크린 샷

  3. 창>보기 표시> 서버를 선택하십시오 .

  4. 빨간색 사각형 상자 ( “서버 중지”도구 설명)를 클릭하거나 서버 목록에서 컨텍스트를 클릭하여 “중지”를 선택하여 서버를 중지하십시오.

  5. 사용하려는 서버에서 컨텍스트 클릭하여 “청소…”를 선택하십시오.

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

  6. 이 확인 대화 상자에서 확인을 클릭하십시오.

    변경된 컨텍스트 루트와 일치하도록 서버 구성을 업데이트하도록 요청하는 대화 상자의 스크린 샷

이제 다음과 같은 새로운 “앱”URL을 사용하여 앱을 실행할 수 있습니다.

http://localhost:8080/app/

프로덕션 서버에서 Eclipse 외부에서이를 수행하는 것이 훨씬 쉽습니다-> war 파일 이름 바꾸기. Vaadin 앱을 WAR 파일로 내보내십시오 ( 파일> 내보내기> 웹> WAR 파일 ). WAR 파일을 Tomcat과 같은 웹 서버의 서블릿 컨테이너로 이동하십시오. 이 경우 WAR 파일의 이름을 app.war바꾸십시오 . 서블릿 컨테이너를 시작하면 Tomcat과 같은 대부분은 war 파일을 폴더로 확장하는 것을 포함하여 앱을 자동 배포합니다. 이 경우 app 이라는 폴더가 나타납니다 . 잘 가야합니다. URL을 테스트하십시오. * example.com “과 같은 도메인의 경우 다음과 같습니다.

http://www.example.com/app/

Vaadin 툴킷 프로그래머는 시각적 애드온을 사용하는 경우 위젯 세트를 다시 빌드해야합니다.


답변

프로젝트 속성에서 컨텍스트 루트를 변경 한 후 Tomcat에서 웹 애플리케이션을 제거하고 (서버의 컨텍스트 메뉴에서 추가 및 제거 … 사용) 애플리케이션을 재배치 한 후 다시 추가하고 재배치해야합니다. 그것은 나를 위해 일했다.

강타를 당했다면 다른 선택을 할 수 있습니다 : 서버보기에서 Tomcat 서버를 선택하십시오. 해당 서버를 두 번 클릭하거나 상황에 맞는 메뉴에서 열기를 선택하면 모듈 페이지가있는 다중 페이지 편집기가 나타납니다. 여기에서 모듈의 루트 컨텍스트 (이 페이지의 경로)를 변경할 수 있습니다.


답변

Eclipse에서 Tomcat을 실행중인 경우 실제 Tomcat 설치의 구성을 사용하지 않습니다. “서버”프로젝트에서 생성하고 저장 한 Tomcat 구성을 사용합니다. Eclipse 작업 공간을 보면 “서버”라는 프로젝트가 표시됩니다. “서버”프로젝트를 확장하면 server.xml을 보게됩니다. 이 파일을 열고 맨 아래로 스크롤하면 다음과 같은 내용이 표시됩니다.

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

여기서 프로젝트 컨텍스트 경로를 다른 것으로 변경할 수 있습니다.

도움이 되었기를 바랍니다.


답변

Russ Bateman이 제안한 솔루션을 여기에서 사용해 보았습니다.

http://localhost:8080/Myapphttp://localhost:8080/somepath/Myapp

그러나 Didnt는 로컬 컴퓨터에 개별 서버 인스턴스가 아닌 구성을 보유 할 수있는 * .war 파일이 필요했기 때문에 나를 위해 일했습니다.

참고

그렇게하려면 WEB-INF에 jboss-web.xml이 있어야합니다.

<?xml version="1.0" encoding="UTF-8"?>
 <!--
Copyright (c) 2008 Object Computing, Inc.
All rights reserved.
-->
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">

  <jboss-web>
  <context-root>somepath/Myapp</context-root>
  </jboss-web>


답변

Eclipse 웹 모듈 편집 대화 상자에서 경로를 아무것도 설정하지 않으면 URL에 경로 구성 요소 (예 : ROOT)없이 프로젝트에 액세스 할 수있었습니다.

“서버”보기에서 Tomcat을 선택한 경우 F3을 누르거나 두 번 클릭하여 웹 모듈 편집 대화 상자에 액세스 할 수 있습니다.

일부 스크린 샷 :




답변

Apache Tomcat은 프로젝트 컨텍스트 경로를 server.xml 경로에 유지합니다. Eclipse의 각 웹 프로젝트마다 태그를 변경할 수 있습니다.
서버에 두세 개의 프로젝트가 배치되어 있다고 가정하십시오. 각 하나의 컨텍스트 경로는에 저장됩니다. 이 태그는 일식에서 작성된 서버의 server.xml 파일에 있습니다.

서버의 컨텍스트 루트 경로에 대한 하나의 프로젝트가 있습니다.

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

이 경로는 웹 응용 프로그램의 컨텍스트 경로를 나타냅니다. 이 경로를 변경하면 웹앱 컨텍스트 경로가 변경됩니다.


답변

답변이 이미 수락되었음을 알고 있습니다. 그러나 Maven을 사용하는 사람이 동일한 것을 달성하고자하는 경우 maven 빌드finalName 을 원하는 이름으로 설정하고 maven- > 프로젝트 업데이트를 수행하십시오.

<build>
    <finalName><any-name></finalName>
    <plugins><provide-plugins-needed></plugins>
<build>