2013-11-14 5 views
1

Maven에서 만든 라이브러리의 소스 코드가 있습니다. 내가 이클립스로 다운로드했을 때 자바 프로젝트로 인식하지 못했다. 이벤트 Maven 특성을 할당하면 Java 특성이 나타나지 않습니다 (분명히 나를 위해).Eclipse에서 Maven 형식의 필수 프로젝트를 다른 프로젝트에 추가하는 방법은 무엇입니까?

내가이 프로젝트로 할 수있는 유일한 방법은 메이븐 목표를 실행하는 것입니다.

독립형이라면 괜찮습니다.

위의 프로젝트를 "소스"프로젝트라고 부릅니다.

이제 "대상"프로젝트라고하는 다른 프로젝트의 종속성으로 소스 프로젝트의 jar (일부 jar 생성)를 사용하고 싶습니다.

다른 프로젝트를 참조 할 수있는 표준 Java Build Path 대화 상자를 사용하려고하면 소스 프로젝트가 나열되지 않습니다. 이것이 이클립스가 Java 프로젝트로 보지 않는다고 말하는 이유입니다.

그러나 대상 프로젝트의 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> 
    <parent> 
    <artifactId>piccolo2d-parent</artifactId> 
    <groupId>org.piccolo2d</groupId> 
    <version>2.0-SNAPSHOT</version> 
    <relativePath>./parent/pom.xml</relativePath> 
    </parent> 
    <artifactId>piccolo2d-complete</artifactId> 
    <packaging>pom</packaging> 
    <name>Piccolo2D</name> 
    <scm> 
    <connection>scm:svn:http://piccolo2d.googlecode.com/svn/piccolo2d.java/trunk</connection> 
    <developerConnection>scm:svn:https://piccolo2d.googlecode.com/svn/piccolo2d.java/trunk</developerConnection> 
    <url>http://code.google.com/p/piccolo2d/source/browse/piccolo2d.java/trunk</url> 
    </scm> 
    <build /> 
    <reporting /> 
    <modules> 
    <module>parent</module> 
    <module>core</module> 
    <module>extras</module> 
    <module>swt</module> 
    <module>examples</module> 
    <module>swt-examples</module> 
    </modules> 
</project> 

은, 목적지의 프로젝트의 pom.xml 파일에 뭔가를 쓸 수 있나요 :

소스 프로젝트는 다음과 같은 치어을 가지고?

일반 태그를 설정하면 아마도 전역 저장소로 이동하여 거기에서 가져옵니다.

어떻게해야합니까? 소스 프로젝트 아티팩트 또는 뭔가의 이름을 변경해야합니까?

"SNAPSHOT"이름이 맞습니까? Piccolo에 일부 기능을 추가하고 싶습니다.

UPDATE

내 "대상"프로젝트에 하위 프로젝트의 ID 중 하나 언급하고 이클립스 곳을 발견했다. 그러나 나는 그것이 내 작업 공간에서 가져간 것이 확실치 않습니다. 대부분의 경우 글로벌 저장소에서 가져 왔습니다. 또한 소스 코드 내부 "대상"프로젝트를 다운로드 할 수 없습니다. 이는 Eclipse가 작업 영역의 아티팩트를 저장소로 배치하지 않는다는 것을 의미합니다.

+0

프로젝트에서'mvn eclipse : eclipse'를 실행 해 보았습니까? – blalasaadri

답변

0

프로젝트의 소스가 '원본'입니다. 이것은 자체적으로 자바 프로젝트가 아니며 '코어', '엑스트라'등과 같은 프로젝트를위한 컨테이너라는 것을 의미합니다.

대상 프로젝트에서 하나 이상의 서브 프로젝트에 a를 추가해야합니다 -projects가 아니라 소스 프로젝트 자체. 예를 들어, 코어 모듈을 추가 (이 artifactId를의 piccolo2d 코어를 가지고 가정, 대상의 pom.xml에 다음을 추가 : 프로젝트가 같은 Eclipse 작업 공간에서 수입하는 경우

<dependencies>  
    <dependency> 
    <groupId>org.piccolo2d</groupId> 
    <artifactId>piccolo2d-core</artifactId> 
    <version>2.0-SNAPSHOT</version> 
    </dependency> 
<dependencies> 

는 이클립스가 추가됩니다 참조 자바 빌드 경로의 프로젝트 참조로 서브 프로젝트

+0

서브 프로젝트를 추가하는 방법 –

+0

대상 pom에서 .xml, 추가 \t org.piccolo2d하지 이클립스 – greyfairer

+0

내가 이런 짓을하지만, 분명히 데이터가 다른 곳에서 찍은이 같은 작업 공간에서 일식으로 수입 piccolo2d 코어 프로젝트인가? 소스 프로젝트를 가져올 때 반복적으로 가져 오기를해야하므로 eclipse가 각 하위 모듈에 대한 프로젝트를 작성합니다. –