2014-11-10 2 views
-1

프로젝트 종속성 관리를 위해 maven을 사용하는 솔루션이 필요합니다.jar 파일을 만들지 않고 핵심 프로젝트에서 상속하는 방법은 무엇입니까?

우리는 기본 클래스를 포함하는 핵심 프로젝트를 가지고 있습니다. 핵심 프로젝트에 의존하는 또 다른 프로젝트를 개발하고 싶습니다. 루틴 솔루션은 핵심 프로젝트를 .jar로 설치하고 하위 프로젝트의 pom.xml 파일에 종속성으로 추가하는 것입니다. 관리상의 고려 사항으로 인해, 우리는 자식 프로젝트를 핵심 프로젝트에 직접적으로 의존하는 방법을 찾고 있습니다 (프로젝트의 일반적인 프로젝트 의존성과 같이). 우리는 이것을 maven을 사용하여 수행 할 수 있습니까? 순간

--core 
    --front-core 
    --front-draft 

, 우리는 다음과 같이 그것을 해결 한 : 우리의 핵심 받는다는 구조 :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ir.group</groupId> 
    <artifactId>framework.core</artifactId> 
    <packaging>jar</packaging> 
... 
</project> 

우리 앞의 핵심 받는다는 구조 :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ir.etick</groupId> 
    <artifactId>framework.front</artifactId> 
    <packaging>jar</packaging> 

<dependencies> 
     <dependency> 
      <groupId>ir.group</groupId> 
      <artifactId>framework.core</artifactId> 
      <version>1.0-SNAPSHOT</version> 
     </dependency> 
... 
</dependencies> 
... 
</project> 

우리의 전면 드래프트에서 :

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ir.etick.front.draft</groupId> 
    <artifactId>ir.etick.front.draft</artifactId> 
    <packaging>war</packaging> 
     <dependency> 
      <groupId>ir.etick</groupId> 
      <artifactId>framework.front</artifactId> 
      <version>1.0-SNAPSHOT</version> 
     </dependency> 

... 
+0

자녀 프로젝트 pom.xml을 표시 할 수 있습니까? – Yubaraj

+0

메이븐 구조체로 내 질문을 업데이트했습니다. –

+0

병을 만들고 싶지 않으면 상속 할 필요가 무엇입니까 ?? pom 프로젝트를 만들고 pom 유형의 종속성으로 참조 할 수 있습니다. 이 "BOM"은 하위 프로젝트로 가져옵니다. http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html을보고 "BOM"을 검색하십시오 – wemu

답변

0

@Madhi 샤 바니,

어쩌면 내가 당신의 상황을 오해하고 있습니다를 볼 수 있지만, 그것은 당신이 또한의 종속성 경우에도 당신이 ir.etick.front.draft의 직접적인 종속성으로 framework.core를 선언 할 수 있는지 여부를 묻는 것 같은 소리 framework.front. 그 질문하고 대답 예가 있다면

, 다음과 같이 종속성 트리가 절대적으로 OK입니다 :

ir.etick.front.draft/pom.xml 파일

<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>ir.etick.front.draft</groupId> 
<artifactId>ir.etick.front.draft</artifactId> 
<packaging>war</packaging> 
    <dependency> 
     <groupId>ir.etick</groupId> 
     <artifactId>framework.front</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 
    <dependency> 
     <groupId>ir.group</groupId> 
     <artifactId>framework.core</artifactId> 
     <version>1.0-SNAPSHOT</version> 
    </dependency> 

희망이 도움이됩니다.

편집

정말 항아리로 패키지를 원하는하지에 대한 이론적 근거를 이해하지 않습니다.

그러나 전쟁 대신 종속성을 패키지해야하는 경우 see this guide.

+0

답장을 보내 주셔서 감사합니다. 내 부모 프로젝트의 Maven 유형이 무엇인지 설명해 주시겠습니까? 예를 들어 framework.core 및 framework.front가 어떤 유형이어야하는지 예를 들어 설명해주십시오. 우리는 그 (것)들을 병으로 바라지 않는다. 그 (것)들은 pom, 전쟁, 막대기 또는 etc. 일 수 있는가? 이것은 정확히 우리가 원하는 것입니다. –

+1

Maven 용어로 framework.core와 framework.front는 부모 프로젝트가 아니며 ir.etic.front.draft와 같은 일반 프로젝트입니다. 그들은 그들 사이에 의존 관계가있는 3 형제 프로젝트입니다. 질문으로 돌아가서 framework.core와 framework.front는 원하는 패키징 (pom, war, ear, jar 등)이 될 수 있습니다. 패키징 방식에 따라 콘텐츠에 액세스하는 방법이 달라집니다. 특히 프레임 워크에 Java 코드가 포함 된 경우에는 pom 패키징을 사용하지 마십시오. – 333kenshin

+0

나는 그것을 얻었고, 나의 결과를 내보내려고 노력한다) –

0

maven을 사용하여 어떻게 해결할 수 있는지 모르지만 프로젝트 의존성으로 해결할 수 있습니다. 는 this

+0

답장을 보내 주셔서 감사합니다.하지만 난 구조가 필요합니다. –

관련 문제