2009-03-16 2 views
3

저는 GAC와 같은 시스템 소프트웨어와 시스템 전반에 대한 가상화가 필요했던 .Net 캠프에서 왔습니다.가상 머신에서 Java를 개발할 때 어떤 이점이 있습니까?

Java 개발을 진행 했으므로 가상화를 계속 사용하는 것이 합리적입니까? 우리는 IMO가 가장 큰 제안이 아니었던 VirtualPC를 사용하고있었습니다. 앞으로 나아갈 경우 VMWare를 사용하게 될 것입니다.

우리는 웹 개발을하고 있으며 가상화를 사용하여 다양한 서버 배포를 테스트하지 않습니다.

장점 :

:

  • 개발 환경이
  • 크로스 플랫폼/브라우저 테스트

단점 호스트에서 격리를 위해 할 수 있습니다 팀에서 동일 할 수 있습니다

  • 다중 모니터 지원 (?하지 VM웨어에)
  • 성능 저하 부족 - 대부분의 I/O
  • 거대한 가상 디스크

답변

6

한 가지 장점은 기술적으로 다양한 같은 프로그램을 테스트 할 수 있다는 것입니다 운영 체제 및 JVM의 다양성에 대해 설명합니다.

Java는 100 % 이식 가능하지 않으며, 이식성이없는 코드를 작성할 수 있습니다. 또한 라이브러리 간에는 미묘한 버전이 있습니다. 다른 JVM으로 작업하는 경우에도 차이점이있을 수 있습니다.

그러나 Java IDE는 중량이 크기 때문에 VM 내에서 IDE를 실행하는 것은 재미 없을 수 있습니다.

Java는 원격 배포의 일부 형태를 지원하며, 여전히 IDE 작업을 로컬에서 수행하는 동안 Java를 탐색하는 것이 유용 할 수 있습니다.

+0

Tomcat 또는 특정 J2EE 컨테이너와 함께 사용하면 응용 프로그램의 원격 전개가 매우 성숙합니다. –

+0

내 가게가 정확히 이것을합니다. ESXi 랙의 다양한 VM (win/sol/lin)에 응용 프로그램 서버를 설치했습니다. 통합을 위해 Hudson을 사용하여 새로운 빌드를 배포하고 모두 테스트합니다. 개발은 항상 데스크톱에서 이루어집니다. – basszero

+0

소리가 재미 있습니다. 어떤 프로그램을 만들었습니까? – Uri

2

VM에서 개발하는 것을 좋아하지 않습니다. 좋은 점은, 여러 대의 모니터가 VMWare에 의해 지원된다는 점과 대조적으로, VMWare가 USB 하드 디스크에서 놀랍도록 원활하게 실행되기 때문에 거대한 디스크 문제는 실제로 문제가되지 않습니다.

Uri가 말했듯이 Java 용 헤비급 IDE를 실행하면 VM에서별로 재미있는 일이 아니게됩니다. 그러나 VM에서 Visual Studio를 실행하는 것은 실제로 재미 있지 않습니다. 그래서 VM에 VS에 만족했다면, 단점은 생각만큼 강력하지 않기 때문에 Java에 대한 시도를 해보십시오 :)

+0

다른 단점이 있습니까? –

+0

아니요, 주된 사기는 속도입니다. 그리고 3D 가속화는 필연적으로 성숙하지는 않습니다. – OregonGhost

1

당신은 자바 웹 개발을하고 있으므로 테스트하는 것이 좋습니다. 귀하의 응용 프로그램은 다른 운영 체제에서 다른 웹 브라우저를 사용합니다. VMware가이를 위해 유용 할 것입니다.

IDE는 운영 체제와 독립적이므로 개발자가 다른 운영 체제에서 아무 문제없이 작업하게 할 수 있습니다.

+0

대상 브라우저를 제어 할 수 있습니다. 브라우저 간 테스트가 필요하지 않습니다. :) –

+0

만들었습니다! ;) – Mark

1

VirtualBox 인스턴스 내부에서 Eclipse를 실행하면 정상적으로 작동합니다. 나는 과거에 VM웨어를 사용 해왔다.내 개발 환경은 무엇에서 내 PC의 나머지가하고 멀리 분할 가진 좋아

(, 게임, 이메일을 읽고, 웹 서핑은 등)

내가 집에서 작업 가상화가 필요한 분리를 제공하므로 일/놀이. 또한 각 환경을 개별적으로 업그레이드하고 환경을 훨씬 더 제어 할 수있게 해줍니다.

또한 설치가 "불안정한"경우 새로운 무언가를 시도하고 되돌릴 수 있습니다. 고도의 기술 용어에 대해 유감입니다. ;-)

편집 : 또한 회사 환경에 과도한 기업 영향을 미치지 않으면 서 기업 VPN 액세스 요구 사항을 충족 할 수 있습니다.

1

응용 프로그램이 다른 OS에서도 실행되는지 확인하기 위해 VM이 필요한 경우, 연속 통합 서버를 사용하고 해당 컴퓨터에서 VM 인스턴스를 시작/실행함으로써 상당한 부분을 커버 할 수 있습니다 (예 : Linux/Windows/OSX). 그런 다음 최신 빌드의 압축을 풀고 제공된 클래스에서 유닛 테스트를 실행하십시오. 그런 다음 자동화 된 통합 테스트를 실행하십시오. 그 결과를 CI- 환경에 다시보고해야합니다. 통합 테스트가 좋은 경우 SCM에 커밋 된 직후에 일반적인 다중 플랫폼 실수를 많이 잡을 수 있습니다.

관련 문제