Eclipse WTP vs sydeo,“게시하지 않고 모듈 제공”


103

Eclipse의 통합 플러그인 WTP를 사용하여 플러그인 sysdeo의 성능을 찾는 데 문제가 있습니다.

마이그레이션과 비교를 위해 Eclipse 내에서 별도의 프로젝트에 두 가지를 모두 설치했습니다.

내가 이해 한 바에 따르면 생산성의 차이를 발견했습니다. WTP는 소스를 디렉토리 빌드에 게시해야 tomcat이 정렬 할 수 있습니다. 이 "pulish"는 길다 : 수정 사항이 보이도록 컨텍스트를 재충전해야합니다. (대부분 마당 15 초-가장 긴 20 초)

Sysdeo no; 결과적으로 파일, 이클립스 빌드에 의해 수정이 이루어 지 자마자 이클립스 디렉토리를 대상으로 프로젝트 내부를 빌드하고 이러한 수정 사항을 즉시 사용할 수 있습니다 (브라우저에서 F5를 누르면 결과가 즉시 표시됨).

다음은 서버 구성입니다.

"게시하지 않고 모듈 제공"옵션을 사용하면 실행중인 프로젝트의 빌드 디렉토리를 선택하는 sydeo를 정확하게 만들 수 있습니다. 이 구성은 컨텍스트 파일에서 자신을 표현합니다. ( "Publish modulates contexts to serparate XML rows"를 체크 한 것으로 되돌릴 수 있습니다.)

이 파일의 비교 :

  • 다음은 sysdeo에서 생성 할 컨텍스트 파일입니다.
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
  • WTP에서 생성 할 파일 컨텍스트

<? xml version = "1.0"encoding = "UTF-8"?> <Context docBase = "D : \ 32bit \ serveur32bit \ workspace \ tatoile \ web"path = "/ tatoile"reloadable = "true"source = "org .eclipse.jst.jee.server : tatoile "> <Resources className ="org.eclipse.jst.server.tomcat.loader.WtpDirContext "extraResourcePaths ="/ WEB-INF / classes | D : \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "virtualClasspath ="D : \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes "/> <로더 className ="org.eclipse.jst.server.tomcat.loader.WtpWebappLoader "useSystemClassLoaderAsParent ="false " virtualClasspath = "D : \ 32bit \ serveur32bit \ workspace \ tatoile \ build \ classes"/> <JarScanner scanAllDirectories = "true"/> </ Context>

나중에이 두 파일을 분석하면 비슷합니다.

이제 문제로 돌아 갑시다. 동일한 서버를 사용하므로 위의 컨텍스트 파일이 모두이 서버에 대해 정의됩니다. 경험 : 플러그인 sysdeo로 바람둥이를 시작하면 두 가지 컨텍스트에서로드가 하나는 sysdeo가 다른 하나를 WTP 방식으로 구성하도록 만들어집니다. 두 권한 모두 동일한 방식으로 반응하며 수정은 tatoile _syseo 및 tatoile에서 즉시 이루어집니다.

반면에 eclipse에서 플러그인 WTP (탭 서버 등)를 통해 tomcat을 시작하면 tatoile _syseo 및 tatoile 프로젝트에서 수정이 즉시 이루어지지 않습니다. 참고 : 수정 사항을 고려하려면 자동 다시로드를 반드시 Enabled로 설정해야합니다. (서버가 컨텍스트를 다시로드했다고 표시하면 수정 사항을 볼 수 있습니다.)

여기에 이미지 설명 입력

나는 그것으로부터 컨텍스트의 구성이 이유가 아니라 플러그인이 tomcat을 시작하는 방식이라고 추론합니다. 그리고 거기 또는 나는 말립니다 ...

다음은 WTP 프로젝트입니다.

여기에 이미지 설명 입력


5
Sysdeo 또는 WTP에 문제가 있습니까? OTOH 확실히 WTP는 변경에 더 많은 시간이 필요합니다. (1) 빌드 클래스 (2) 이전 웹 앱 배포 취소 (3) 빌드 결과를 tomcat의 배포 폴더에 복사 (4) tomcat이 자동으로 시작 앱. 한편 sysdeo를 사용하면 RAM의 클래스가 변경되는 즉시 수정됩니다 (모든 클래스 파일에서 새 날짜로 식별 됨). 그런 다음 즉석에서 수행 할 수없는 몇 가지 제한 사항이 있습니다 (새 메서드를 추가하면 클래스 구조도 변경됨).이 경우 경고가 표시됩니다.

동일한 프로젝트에서 Sysdeo와 WTP를 모두 사용했습니다. 내가 눈에 띄는 가장 큰 차이점은 Sysdeo의 구성이 나에게 더 쉬워 보였지만 이것은 편향 될 수 있다는 것입니다.
— Markus 2014 년

2
이 문제는 WTP 배포와 함께 MAVEN을 추가하여 해결되었습니다. 성능 문제가 없습니다. 어떤 성능 문제와 나는 "게시하지 않고 모듈을 제공"활성화하지 않습니다
— Vsplit

1
문제를 해결했다면 답변을 올릴 수 있습니까?
— Anubian Noob

@AnubianNoob 예, 내 선례 게시물에서 설명했을 때. maven 구성을 사용하여 문제를 해결했습니다.
— Vsplit

답변:


3

@Vsplit에서 인용 한 답변

이 문제는 WTP 배포와 함께 MAVEN을 추가하여 해결되었습니다. 성능 문제가 없으며 게시하지 않고 서브 모듈을 활성화하지 않습니다.


-1 이것은 대답이 아닙니다. 자세한 내용과 함께 답변을 추가하십시오.
— Isaac G Sivaa 2014 년

1
안녕하세요, 답변이 늦어서 죄송합니다. 하지만 알아 두셔야 할 점은 Sysdeo 플러그인에 대한 issus 문제를 해결할 수 없습니다. 하지만 WTP 배포와 함께 Maven 플러그인을 사용합니다. 이 샘플 튜토리얼을 볼 수 있습니다. youtube.com/watch?v=YeC7XQho-O0
— Vsplit 2014

2

플러그인 마켓 플레이스에서 m2e-wtp라는 무료 플러그인을 찾으십시오. 제공된 범위 문제를 처리합니다. 배포되지 않는 클래스에 관해서는 내가 보는 일반적인 위치는 배포 어셈블리 및 / 또는 Java 빌드 경로입니다. 항목 (및 종속 모듈)이 모두 있고 올바른 위치에 있는지 확인하십시오.

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