이클립스에서 동적 웹 프로젝트의 컨텍스트 루트를 변경하는 방법은 무엇입니까?
저는 이클립스에서 동적 웹 프로젝트를 개발했습니다.다음 URL을 사용하여 브라우저를 통해 앱에 액세스할 수 있습니다.
http://localhost:8080/MyDynamicWebApp
액세스 URL을 다음으로 변경합니다.
http://localhost:8080/app
이를 위해 "Properties | Web Project Settings | Context Root" 프로젝트에서 컨텍스트 루트를 변경했습니다.그러나 웹 앱의 액세스 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
같은 길에
이것이 적절한 에티켓인지 아닌지 확신할 수 없습니다. 저는 이클립스 인디고에 대한 정확한 단계를 제공하기 위해 이 답변을 편집하고 있습니다.
프로젝트의 등록 정보에서 웹 프로젝트 설정을 선택합니다.
컨텍스트 루트를 앱으로 변경합니다.
Window > Show View > Servers를 선택합니다.
빨간색 사각 상자("서버 중지" 도구 설명)를 누르거나 서버 목록에서 상황에 따라 눌러 "중지"를 선택하여 서버를 중지합니다.
사용할 서버에서 상황에 맞는 버튼을 눌러 "정리..."를 선택합니다.
이 확인 대화 상자에서 확인을 클릭합니다.
이제 다음과 같은 새로운 "앱" URL로 앱을 실행할 수 있습니다.
http://localhost:8080/app/
프로덕션 서버에서 이클립스 외부에서 이 작업을 수행하는 것이 훨씬 쉽습니다. --> 전쟁 파일의 이름을 변경합니다.Vaadin 앱을 WAR 파일로 내보내기(File > Export > Web > WAR 파일)WAR 파일을 Tomcat과 같은 웹 서버의 서블릿 컨테이너로 이동합니다.WAR 파일의 이름을 app.war로 변경합니다.서블릿 컨테이너를 시작하면 Tomcat과 같은 대부분의 서버가 전쟁 파일을 폴더로 확장하는 것을 포함하여 앱을 자동 배포합니다.이 경우 앱이라는 폴더가 표시됩니다.당신은 가도 좋습니다.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"/>
여기서는 프로젝트 컨텍스트 경로를 다른 경로로 변경할 수 있습니다.
이게 도움이 되길 바랍니다.
저는 러스 베이트먼이 제안한 해결책을 시도했습니다. 여기 게시물에 있습니다.
http://localhost:8080/Myapp
http://localhost:8080/somepath/Myapp
그러나 로컬 컴퓨터의 개별 서버 인스턴스가 아닌 구성을 저장할 수 있는 *.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"/>
이 경로는 웹 응용프로그램의 컨텍스트 경로를 나타냅니다.이 경로를 변경하면 웹 앱 컨텍스트 경로가 변경됩니다.
이미 답변이 받아들여진 것으로 알고 있습니다.하지만, 메이븐을 사용하는 사람이 같은 일을 성취하기를 원하는 경우, 메이븐 빌드의 최종 이름을 원하는 이름으로 설정하고 메이븐 프로젝트를 수행하면 됩니다. -> 업데이트 프로젝트
<build>
<finalName><any-name></finalName>
<plugins><provide-plugins-needed></plugins>
<build>
프로젝트가 메이븐이면 pom.xml의 "finalName"을 변경하고 프로젝트를 메이븐으로 업데이트합니다.이것은 저에게 효과가 있었습니다.
Glassfish에서 WEB-INF/glassfish-web.xml 파일도 변경해야 합니다.
<glassfish-web-app>
<context-root>/myapp</context-root>
</glassfish-web-app>
따라서 "서버에서 실행"을 클릭하면 올바르게 열립니다.
루트 컨텍스트에서 응용 프로그램 이름을 사용하지 않으려면 Eclipse --> Web Project Settings --> Context Root 항목에 "/"(따옴표 없이 슬래시만 사용)를 입력하십시오.
그러면 웹 앱이 http://localhost:8080/에만 배포됩니다.
물론 이렇게 하면 서버에서 실행하려는 다른 웹 앱에 문제가 발생할 수 있으므로 이를 해결하십시오.
그걸 조립하는 데는 오랜 시간이 걸렸습니다.그래서 비록 이 게시물이 8년이 되었지만, 이것이 여전히 누군가를 도울 수 있기를 바랍니다!
java 프로젝트에서 .settings 폴더를 엽니다.이름이 "syslog.dll"인 파일을 찾습니다.wst.common.component" . 태그를 변경합니다. <syslog-syslog deploy-name="NEW_NAME"> .
또한 프로젝트 속성에서 컨텍스트 루트를 변경할 수도 있습니다.
이클립스를 사용하여 애플리케이션을 배포하는 경우.이 메이븐 플러그인을 사용할 수 있습니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.10</version>
<configuration>
<wtpversion>2.0</wtpversion>
<wtpContextName>newContextroot</wtpContextName>
</configuration>
</plugin>
이제 프로젝트 루트 폴더로 이동하여 해당 위치에서 cmd 프롬프트를 엽니다. 다음 명령을 입력합니다.
mvn eclipse:dll -Dwtp version=2.0
Eclipse를 다시 시작하거나 서버 보기에서 서버를 삭제하고 다시 작성하여 영향을 확인해야 할 수 있습니다.나는 이 운동이 현실에서는 말이 되는지는 모르겠지만 효과가 있는지 궁금합니다.
메이븐 자바 7/8 엔터프라이즈 애플리케이션을 사용하는 경우 EAR 프로젝트의 pom.xml을 편집해야 합니다.
<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<version>6</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<modules>
<webModule>
<groupId>com.sample</groupId>
<artifactId>ProjectName-web</artifactId>
<contextRoot>/myproject</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>
...
</plugins>
</build>
대체 자원이 좀 있어서...그러나 프로그래밍 방식은 서버에서 server.xml 파일을 변경하는 것입니다...
이렇게 실제 프로젝트가 구성됩니다. 컨텍스트에서 경로를 변경합니다.
<Context docBase="projectName" path="/reachingPath" reloadable="true" source="org.eclipse.jst.jee.server:projectName"/></Host>
언급URL : https://stackoverflow.com/questions/2437465/how-to-change-context-root-of-a-dynamic-web-project-in-eclipse
'programing' 카테고리의 다른 글
복수의 값을 한 번에 포스트그레스 테이블에 삽입하려면 어떻게 해야 합니까? (0) | 2023.05.05 |
---|---|
ExpandoObject의 진정한 이점은 무엇입니까? (0) | 2023.05.05 |
하위 디렉터리를 제외한 모든 것을 무시하도록 Git에게 어떻게 말합니까? (0) | 2023.05.05 |
3.x를 사용하여 람다 매개 변수에 대한 2.x의 튜플 언팩을 시뮬레이션하려면 어떻게 해야 합니까? (0) | 2023.05.05 |
git pull origin 마스터와 git pull origin/master 간의 차이 (0) | 2023.05.05 |