2012-10-20 1 views
5

org.jdt.core jar 파일을 메이븐 저장소에서 사용할 수 없기 때문에 lib folder에 넣어 두었습니다. 내가 사용중인 빌드 도구 인 sbt는 URL에서 직접 종속성을 가져올 수 있습니다. 그러나, 나는 이클립스 다운로드 페이지에서 항아리에 직접 링크를 찾을 수 없습니다. 내가 찾을 수있는 폐점은 많은 jar 파일을 포함하는 전체 jdt zip에 대한 링크입니다. 나는 sbt가 zip 의존성으로부터 항아리를 추출 할 수 있다고 믿지 않는다. 직접 링크 또는 다른 해결 방법이 있습니까?eclipse.jdt.core jar에 대한 직접 링크가 있습니까?

답변

14

원하는 버전이 이미 저장소에 있는지 여부에 따라 다릅니다. org.eclipse.jdt.core를 들어

:

티코 프로젝트는 중앙에 org.eclipse.jdt.core의 일부 버전을 배포 할 것 같다. 참고 :

http://central.maven.org/maven2/org/eclipse/tycho/org.eclipse.jdt.core/ 

search.maven.org을 사용하여 발견했습니다. 그 중 하나가 귀하의 필요에 충분히 부합 할 수 있습니다. 그러나 그들은 '공식적인'바이너리를 가지고있는 것 같지 않습니다. 단지 그것들을 재구성 한 것뿐입니다.

(.이 또한 일부 유물에 유용 할 수있는 maven.eclipse.org,이다하지만 보이지 않는 경우 특정 문제에 맞게 아무것도 할 수 있습니다.)

을 일반적인 경우를 들면 다음과 같습니다

일반적으로 메이븐 저장소에서 모든 일식 산출물을 찾을 수는 없지만. 그래서 당신이 원하는 것을 Maven Repo에서 찾을 수 없다면 Eclipse p2 저장소에서 직접 찾아야합니다. , 3.8.1

Eclipse Project Update Sites 위키 페이지는 3.8.x에 대한 업데이트 사이트가 실제로 3.8을위한 '복합'P2 저장소의

http://download.eclipse.org/eclipse/updates/3.8 

말한다 ...의 당신은 이클립스 3.8.1에 대한 org.eclipse.jdt.core을 원하는 가정 해 봅시다 , ... 다음으로 우리는 3.8.1 저장소의 이름을 알아 내야합니다. 다음은 자식 저장소를 나열 compositeArtifacts.xml을 포함하는 jar 파일을 가져옵니다 및 3.8.1에 대한 greps :

curl -s http://download.eclipse.org/eclipse/updates/3.8/compositeArtifacts.jar | \ 
    gunzip -c | \ 
    grep '3\.8\.1' 

결과를?

<child location='R-3.8.1-201209141540'/> 

해당 위치는 상대 경로입니다. 3.8.1 저장소가 있다고 알려줍니다.

http://download.eclipse.org/eclipse/updates/3.8/R-3.8.1-201209141540/ 

이제 저장소의 이슈 색인을 가져 오십시오. 다시 말하지만, 항아리에있는 하나의 XML 파일. 하지만이 시간, 그것은 복합 저장소없는, 그래서 우리는 단지 artifacts.jar 요청 :

curl -s http://download.eclipse.org/eclipse/updates/3.8/R-3.8.1-201209141540/artifacts.jar | \ 
    gunzip -c | \ 
    grep org.eclipse.jdt.core[\'\"] | \ 
    sort -u 

결과 :

<artifact classifier='osgi.bundle' id='org.eclipse.jdt.core' version='3.8.2.v20120814-155456'> 

(3.8.1에서 org.eclipse.jdt.core는 버전 3.8을 시작하는 이유를 잘 모르겠어요 .2 그러나 그것이 그 방법입니다.그럼 ...)

이제 우리는 방금 가져온 artifacts.xml의 <mappings> 요소에 따라 URL을 결합 할 수 있습니다. 저장소 경로에 'plugins /'를 추가하십시오. 플러그인 이름에 버전을 추가 한 다음 우리는 그것을 가져올 수 :

curl -Os http://download.eclipse.org/eclipse/updates/3.8/R-3.8.1-201209141540/plugins/org.eclipse.jdt.core_3.8.2.v20120814-155456.jar 

자신이 하나 또는 두 개의 항아리, 당신이 이슈를 해결하기 위해 Tycho, 또는 Eclipse p2 Ant tasks를 사용하여 조사하는 것보다 더 필요로 찾을 경우 sbt 빌드를 실행하기 전에 lib 폴더에 있어야합니다.

+0

다이너마이트 답변, 감사합니다. 내가 찾을 수없는 3.8.x가 있기 때문에 tycho maven repo가 ​​충분하기 때문에 나머지는 착빙입니다! –

+0

이것은 훌륭한 대답이었습니다. 고맙습니다! – awied

관련 문제