2012-03-21 3 views
2

Eclipse를 사용하여 개발할 때이 질문이 나에게 다가왔다.코드 변경 결과를 더 빨리 찾을 수있는 방법

저는 JBoss Application Server를 사용하며 핫 코드 대체를 사용합니다. 그러나이 옵션을 사용하려면 '자동으로 빌드'옵션을 사용하도록 설정해야합니다. 이렇게하면 Eclipse가 자동으로 (주기적으로 또는 파일이 저장 될 때) 작업 영역을 빌드하게되며, 큰 코드 기반의 경우 시간이 많이 걸리고 처리되어 잠시 동안 시스템이 고정됩니다. 또한 때때로 핫 코드 대체가 실패했다는 오류 메시지가 표시됩니다.

내가 갖고있는 질문은 : 코드 변경 결과를 볼 수있는 더 좋은 방법이 있습니까?


현재 나는 다음과 같은 두 가지 제안이 있습니다

  1. 유무 단위 테스트를 -이 하나의 테스트를 실행하고 코드 변경의 결과를 볼 수 있습니다. (그러나 EJB를 사용하는 JavaEE 응용 프로그램의 경우 단위 테스트를 쉽게 설정할 수 있습니까?)

  2. OSGi - JVM을 중단하지 않고 실행중인 시스템에 jar를 추가 할 수 있습니다.

위의 제안 사항이나 다른 제안 사항이나이를 수행 할 수있는 프레임 워크에 대한 아이디어는 환영합니다.

+0

'build automatically '는 파일이 저장 될 때마다 빌드를 발생시킵니다. – edthethird

+0

@edthethird wrong, 빌드가 자동으로 변경된 단일 클래스에 대해서만 컴파일을 시작하고 디버그 세션에서 클래스 스키마가 변경되지 않은 경우 작동하는 Hotswap을 트리거합니다. –

답변

1

내가 일하는 방식을 알려줍니다. 유용하게 사용되기를 바랍니다. 우선, 나는 "Build Automatically"를 비활성화한다. 어쩌면 간단한 ANT 스크립트를 작성하여 오류/예외를 컴파일하고 볼 때 더 좋습니다. 또한 동일한 스크립트로 jar 파일을 만듭니다. 그런 다음 OSGi를 사용하여 응용 프로그램을 확인합니다. Yo 서버를 중지 할 필요는 없으며 배포 된 번들의 버전 만 변경하면됩니다. JBoss Server의 Intead Jetty Web Server를 포함하는 Equinox를 사용합니다.

좋은 하루 되십시오!

+0

답변 해 주셔서 감사합니다. 배포 된 번들에서 버전을 전환한다고 말하면 수동으로 하시겠습니까? 아니면 IDE (Eclipse 또는 기타)가이를 지원합니까? –

+0

MANIFEST.MF 파일의 버전 번호를 변경하여 수행합니다. –

0

JRebel을 사용하면 프로젝트를 빌드 할 필요가 없습니다 (빌드를 완전히 건너 뛰십시오). 또한 변경된 리소스 만 다시로드되므로 즉시 업데이트됩니다. 또한 세션은 유지되므로 업데이트를 수행 한 후에 응용 프로그램에 다시 로그인하지 않아도됩니다.

0

비록 내가 물었던 질문이 자바에만 한정되어 있었지만, 컴파일 단계를 피하는 인터프리터 프로그래밍 언어를 사용하는 것은 코드 변경 결과를 더 빠르게 볼 수있는 또 다른 방법이라고 생각했습니다.

관련 문제