2010-11-23 4 views
3

Eclipse Helios를 사용하고 있습니다. 동적 인 웹 프로젝트가 진행 중이고 Eclipse를 설정하여 Ant 빌더를 사용하여 WAR 파일을 생성했습니다. 이 모든 것이 잘 작동합니다. .java 파일을 변경하면 Eclipse는 자동으로 Ant를 통해 build.xml을 실행하고 내 WAR를 업데이트합니다. WAR를 Tomcat의 외부 인스턴스에 배포하면 완벽하게 작동합니다.내부적으로 빌드하는 것이 아니라 ANT 스크립트가 빌드하는 WAR 파일을 배포하기 위해 Eclipse가 필요합니다.

그러나 Tomcat에서 내 프로젝트를 실행하도록 Eclipse에 지시하면 Ant 빌드에서 생성 된 WAR 파일을 사용하거나 Ant 스크립트를 사용하여 임시 WAR을 생성하지 않습니다.

내 build.xml 스크립트에 Eclipse의 WEB-INF/classes 디렉토리에없는 WEB-INF/classes에 몇 가지 추가 XML 구성 파일이 포함되어 있기 때문에이 사실을 알고 있습니다.

이클립스에서 "게시 할 때 자신의 빌드 대신이 WAR 파일을 사용합니다"라는 것을 찾을 수 없습니다.

또 다른 방법은 파일 목록을 추가하여 WAR를 작성하는 경우 Tomcat에 알려주는 것이지만이를 수행 할 방법을 찾지 못하는 것 같습니다.

내 build.xml과 이전에 생성 된 WAR 파일을 분명히 무시하기 때문에 Eclipse에서 게시 할 내용을 어떻게 알 수 있는지 궁금합니다.

답변

6

Eclipse는 프로젝트의 Web Deployment Assembly 옵션을 검토하여 웹 응용 프로그램을 배포합니다. 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 배포 어셈블리를 클릭하여 확인할 수 있습니다. 이클립스는 일반적으로 WAR를 생성하고 배포하는 대신 여기에 확장 된 디렉토리 배치를 사용합니다 (이것은 사용중인 서버 플러그인을 기반으로하지만 대부분은 속도 향상을 위해 확장 된 디렉토리 구조를 사용합니다). WAR로 내보내는 경우 동일한 내용의 WAR가 만들어집니다.

당신이하고 싶은 일을 할 수있는 두 가지 선택이 있습니다

  • 웹 배포 조립 옵션

  • 는 사용하지 마십시오 배포 된 응용 프로그램에서 원하는 정확히 일치하도록 수정 Eclipse의 전개; 프로젝트의 "Builders"옵션에 "External Ant Builder"를 추가하십시오 (프로젝트를 마우스 오른쪽 단추로 클릭하고 Properties-> Builders를 선택하십시오). Eclipse가 프로젝트를 빌드 할 때 사용할 ant 파일의 대상을 선택할 수 있습니다. 이러한 옵션 중 하나는 내가 "당신이 게시 할 때, 대신 자신의 건물이 WAR 파일을 사용"라고 이클립스 내에서 아무것도 찾을 수 없습니다 배포 단계

+0

은 내가 옵션 1 나 특정 파일 만 폴더와 아카이브를 추가 할 수 없습니다 주로 때문에, 다음 옵션이 함께 가야 할 것 같아요. 감사! – Jay

+0

필요한 경우 폴더의 내용을 WAR의 루트 폴더에 배포하도록 설정할 수 있다고 생각합니다. –

+0

특정 파일을 WEB-INF/classes 디렉토리에 복사해야하기 때문에 여기서는 작동하지 않습니다. 따라서 앱로드시 classpath에 있습니다. – Jay

0

을 할 수 있습니다.

저는 IntelliJ 사용자이므로 소금 한 알씩 먹으십시오. 하지만 ...

프로젝트 탐색기 대상/foo.war를 마우스 오른쪽 단추로 클릭하고 배포 가능으로 표시를 선택하십시오.

는 JBoss의 인스턴스를 선택 ...> 서버에서 실행 -

그런 다음 다시하던 foo.war 파일을 마우스 오른쪽 단추로 클릭하고 실행으로는 ....

서버보기로 이동하면 JBoss 인스턴스 아래에/proj_root/target/foo라는 WAR 파일이 표시됩니다.전쟁

오 이클립스, 한숨 ...

관련 문제