2012-10-19 2 views
3

나는 최근에 내가 이해하려고하는 새 프로젝트가 필요하다는 것을 알게 된 많은 Java 패키지가 들어있는 프로젝트를 가지고있다. 이 두 프로젝트가 동일한 코드베이스를 갖기를 원하므로 두 라이브러리에서 공통 라이브러리를 업데이트 할 필요가 없습니다. Exlipse에서 어떻게 이것을 할 수 있습니까?일반적인 Java 패키지 추출

내 현재 설정까지 내가 다음 원하는이

Project1 
    CommonPackage 
    SpecifictProjectCode1 

Project2 
    SpecifictProjectCode2 

처럼, 내 생각 :

은 내가 jar 파일을 추출 할 수 이해하거나이를 달성하는 가장 좋은 방법은 무엇입니까
Project1 
    CommonPackage 
    SpecifictProjectCode1 

Project2 
    CommonPackage 
    SpecifictProjectCode2 

CommonCodeProject 

두 프로젝트 모두에 포함 시키지만 코드를 디버그 할 수 있기를 원하며 코드를 편집 가능하게 유지하려고합니다. 아마도 코드를 별도의 프로젝트에 추출하는 것이 더 좋을까요? 어떻게해야할까요?

도움을 주시면 감사하겠습니다.

+0

CommonPackage의 소스 코드가 Project1 및 Project2와 동일한 Eclipse 작업 공간 내에 프로젝트로 포함되어 있습니까? – amphibient

+0

당신이 찾고있는 것은 자동화 된 jar 패키징과 배포를하는 것입니다. 그래서 CommonPackage의 모든 것이 바뀌면 재 컴파일이 될뿐만 아니라 jar 파일이 새 바이너리로 다시 묶여지고 종속성으로 지정된 다른 프로젝트로 재배포됩니다 . 나는 우리가 MyEclipse (당신이 지불해야하는)를 가지고 있었던 나의 오래된 직업에서 그것을 할 수 있었었다라고 생각한다. 그러나 나는 확실하지 않다. 정규 Eclipse에서 어떻게 든 완료 될 수 있기를 바랍니다. 이건 쓸데없는 좋은 질문입니다. – amphibient

답변

2

이클립스에는 CommonCodeProject, Project1Project2의 세 가지 프로젝트가있을 수 있습니다. 그런 다음 Project1과 Project2는 CommonCodeProject에 종속됩니다.

Eclipse에서 프로젝트에 종속성을 추가하려면 Java Build Path으로 이동하고 프로젝트 탭에 CommonCodeProject을 추가하십시오.

1

.

Project1 -->Properties-->Java Build Path -->projects tab-> Add -->CommonCodeProject 
Project2 -->Properties-->Java Build Path -->projects tab-> Add -->CommonCodeProject 

이 당신의 필요를 제공해야합니다 자바 프로젝트 아래 탐색에 의해 처음 두 프로젝트의 새로운 프로젝트가 있음을 참조로 세 번째 프로젝트 (CommonCodeProject)를 만듭니다.

+0

유틸리티 프로젝트 여야합니까? – amphibient

+1

답변을 업데이트했습니다. 필자는 '개념 관점'이라는 단어를 공통 코드로 사용했다. 그것을 제거했습니다 :) –

0

공통 코드를 편집하지 않으려면 하나의 프로젝트로 만들고 다른 두 개에는 jar 파일로 가져 오기하십시오. 심지어 다른 두 개의 프로젝트

2

만들기 3 개 별개의 프로젝트에 사용되는 항아리 만들기 위해 3 개 별도의 프로젝트를 가지고 공통 코드를 작성 편집하는 경우 :

  • Project1의
  • Project2에
  • CommonCodeProject
  • Project1> 자바 빌드 경로>

    의 일식 특성에

이동

이제 CommonCodeProject 종속성으로해야 Project2

모두 프로젝트를 동일한 작업을 projects 탭을 선택하고 종속

CommonCodeProject 프로젝트를 추가 할 수 있습니다.

0

네이티브 이클립스 (다른 답변에서 설명한 바 있음) 외에도 m2e 플러그인이있는 Maven + Eclipse를 사용합니다 (Marketplace을 사용하여 다운로드). 프로젝트의 복잡성과 응용 프로그램에 따라 Sonatype's Nexus과 같은 코드를 저장소로 배포 한 상태로 갈 수도 있습니다. 이는 과도 할 수 있습니다.