2010-03-02 5 views
4

이미 존재하는 컴퓨터에서 Java 응용 프로그램을 원격 디버깅하는 방법을 알고 있지만 로컬 작업 영역 (예 : Eclipse)에서 시작할 수있는 솔루션을 아는 사람은 누구나 알고 있습니다. 로컬 클래스 경로의 코드를 원격 또는 가상 시스템으로 전송하고, 거기에서 실행하고 원격 디버거를 한 번에 모두 수행 할 수 있습니까? 어떤 종류의 서버가 클래스 파일을 받아들이고 실행하기 위해 원격 컴퓨터에서 실행해야 할 것으로 기대합니다.원격 또는 가상 컴퓨터에서 Java appliation 시작 및 디버깅

이전에 JUnit과 비슷한 것을했는데, RMI를 통해 로컬 테스트 케이스를 원격 시스템으로 전송하고 거기에서 실행하여 결과를 다시 내식으로 전송합니다. 이러한 테스트 케이스는 JUnit 테스트이므로 Eclipse와 JUnit 실행기 및 -tools를 쉽게 통합 할 수 있지만 전체 응용 프로그램을 디버깅 할 때는 좀 더 복잡하다고 생각합니다.

나는 이것을위한 해결책이 있는지 또는 누군가가 이것을 이전에 했었고 올바른 방향으로 나를 가리키고 있는지 묻습니다.

VMWARE 워크 스테이션과 비슷한 점이 있지만 Mac에서 개발되었으며 Fusion에서는 사용할 수 없습니다.

답변

0

Eclipse 내에서 실행되는 개미 작업을 사용하여 배포 작업을 자동화 할 수 있다고 생각합니다. Java 응용 프로그램은 FTP http://ant.apache.org/manual/Tasks/ftp.html를 통해 컴파일 클래스를 복사하여 디렉토리에있는 파일을 스캔하고 디버그를 실행 데몬을 사용할 수 있습니다에 대한

  1. 은 (항아리의 매니페스트를 분석 할 수있다). 편리한 디버깅을 위해 Java 응용 프로그램을 J2EE 응용 프로그램으로 "패키지화"할 수도 있습니다.
  2. J2EE 응용 프로그램의 경우 J2EE 서버의 배포 기능을 볼 수 있습니다.
    • 를 들어 는 테스트 응용 프로그램 또는 다른 뭔가를 디버깅 할 경우 배포 폴더에 간단한 복사 그것은 언급되지 않은만큼
2

입니다 제이 보스를 들어 IBM 개미 작업을

  • http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.javadoc.doc/public_html/api/com/ibm/websphere/ant/tasks/package-summary.html을했다. 나는 이것이 일반적인 자바 애플리케이션이라고 생각할 것이다. 원격 가상 컴퓨터에서 SMB 공유 또는 FTP 서버를 설정 한 다음 개미 작업을 사용하여 모든 클래스 파일을 병합하고 두 번째 가상 컴퓨터로 복사 할 수 있습니다. Mac을 사용하고 있기 때문에 ssh에 연결하여 디버그 플래그로 Java 응용 프로그램을 시작할 수 있습니다. 다음에, 두 단계 프로세스가 될 것입니다 :

    • Ant 스크립트가
      • 팩 모든 컴파일 된 코드
      • 복사 컴파일 된 코드 (FTP, SCP, SMB, 또는 종류의 뭔가)
      • ssh와 연결하고 디버그 옵션을 사용하여 응용 프로그램을 시작합니다. 이 옵션을 사용하면 서버가 들어오는 연결을 기다릴 때까지 기다릴 수 있습니다.

  • 그런 다음 이클립스에, 당신은 지정된 코드에서 원격 시스템에 연결하는 것입니다 원격 디버깅 설정을 할 것입니다.

    디버그 실행기를 확장하는 작은 Eclipse 플러그인을 작성하여 한 단계로 수행 할 수 있습니다. 이러한 사용자 지정 복사 코드를 수행하도록 원격 디버그 시작 기능을 확장 할 수 있습니다.

    +0

    통찰력을 주셔서 감사합니다. 좋은 시작일 것입니다. 네, 꽤 큰 (큰) 자바 애플리케이션에 대해 말하고 있습니다. Eclipse가 개미 스크립트 내에서 프로젝트를 위해 내부적으로 빌드하는 classpath에 액세스하는 방법에 대한 아이디어가 있습니까? 사용할 수있는 변수에는 아무 것도 보지 못했습니다. 선택한 프로젝트의 .classpath-file을 읽을 수는 있지만 종속성/참조 된 프로젝트 등을 어떻게 찾을 수 있습니까? 어쩌면 필자는 maven을 사용하여 컴파일 할 때 파일로 전체 클래스 경로를 생성하고이 파일을 원격 시스템에 전송할 대상으로 사용해야합니다. –

    0

    eclipse remote control을 사용하면 원격 호스트에서 Eclipse 내에서 ant 스크립트와 응용 프로그램을 실행할 수 있습니다.