2012-11-19 1 views
2

Ivy를 사용하여 Ant에서 Ant로 빌드 시스템을 변환하는 중이고, 필요한 특정 항아리를 지정하는 문제가 발생했습니다.Ivy 또는 Maven에서 net.sf.json-lib # json-lib # 2.3을 어떻게 지정합니까?

  • 의 groupId : net.sf.json-LIB
  • artifactId를 : JSON-lib 디렉토리
  • 버전 : 2.3

나는 아이비에 지정 :

<dependency org="net.sf.json-lib" artifact="json-lib" 
    rev="2.3"  conf="compile->default"/> 
[ivy:retrieve] ==== public: tried 
[ivy:retrieve] http://buildl01.tcprod.local/artifactory/libs-release/net/sf/json-lib/json-lib/2.3/json-lib-2.3.jar 
[ivy:retrieve]   :::::::::::::::::::::::::::::::::::::::::::::: 
[ivy:retrieve]   ::    FAILED DOWNLOADS   :: 
[ivy:retrieve]   ::^see resolution messages for details^:: 
[ivy:retrieve]   :::::::::::::::::::::::::::::::::::::::::::::: 
[ivy:retrieve]   :: net.sf.json-lib#json-lib;2.3!json-lib.jar 
[ivy:retrieve]   :::::::::::::::::::::::::::::::::::::::::::::: 

공지 사항 아이비 저장소에서 파일 json-lib-2.3.jar을 다운로드하려고 :는 다음과 같은 오류가 발생했습니다.

은 내가 Central Maven Repository에서 검색을했고, 이슈가 json-lib-2.3.jar 호출되지 찾았지만 json-lib-2.3-jdk-13.jar 또는 json-lib-2.3-jdk-15.jar 중 하나.

문제는 이슈의 이름이 지정되는 방식입니다. 버전 번호는 중간의 항아리 이름에 나타납니다. 이슈가`라면 JSON-lib 디렉토리-JDK-15-2.4.jar, 나는이 작업을 수행 할 수 있습니다 :

<dependency org="net.sf.json-lib" artifact="json-lib" 
    rev="2.3"  conf="compile->default"> 
    <artifact name="json-lib-jdk-15"/> 
</dependency> 

어떻게 다운로드이 단지를 지정할 수 있습니다?

+1

방금 ​​전에이 질문에 대해 질문했습니다 : http://stackoverflow.com/q/6942989/1374678 – rolve

답변

6

jar 이름 끝에있는 "물건"은 분류 자 ​​이라고합니다. 이것은 특정 플랫폼을 대상으로하거나 소스 또는 Javadoc을 제공하는 데 사용됩니다.

이 항아리를 얻으려면, 당신은 다음과 같이 분류를 정의해야

<ivy-module version='2.0' xmlns:m="http://ant.apache.org/ivy/maven"> 
... 
<dependency org="net.sf.json-lib" artifact="json-lib" rev="2.3"conf="compile->default"> 
    <artifact name="json-lib" type="jar" m:classifier="jdk15"/> 
</dependency> 

읽기 this article을 자세한 내용은.

+0

이제 요소와 연결된 속성 "m : classifier"에 _ "접두사"m "이 표시됩니다. 유형 "종속성"은 바운드되지 않습니다. 어떻게 든 내 ivysettings.xml을 munge해야 겠어. –

+1

감사합니다. [지적한] 대답 (http://stackoverflow.com/q/6942989/1374678)이 효과가있었습니다. –