2012-04-18 4 views
2

ant 스크립트를 사용하는 일부 레거시 프로젝트에서 "clean maven"설정을하려고합니다. 나는 개미에 대해 많이 모른다. 그래서 나의 질문은 순진 해 보일지 모른다.ant 클래스 경로에서 jar를 제외하십시오.

나는 거의 끝났지 만, 클래스 경로의 중복 때문에 배달 ant 스크립트가 실패했습니다. 내가 빌드를 이해한다면, 그 선은 "제공"범위의 클래스 경로에있는 모든 lib 디렉토리를 추가해야합니다 :

<artifact:dependencies pathid="dependency.classpath" scopes="provided"> 
    <pom file="./pom.xml"/> 
</artifact:dependencies> 

그리고이 일을 :

<path id="completecp"> 
    <fileset dir="${ant.home}/lib"> 
     <include name="*.jar" /> 
    </fileset> 
    <path refid="dependency.classpath" /> 
</path> 

가 개미의 libs가에 그 종속성을 추가 .home 디렉토리.

문제는 내가 수정할 수없는 상위 pom에 종속 된 maven pom을 사용하고 있으며 그 결과 클래스 경로에 3 가지 다른 버전의 Ant가 있습니다. 두 개는 POM (1.5와 1.7.1)과 Eclipse (1.8.2)에서 하나. 나는 (필사적으로!) 일부 메이븐 제외를 추가하려고 시도했지만 비참하게 실패했습니다.

그래서 저는 Ant 클래스 패스에서 항아리를 제외 할 수있는 방법이 있다고 생각했습니다. 나는 파일 세트 부분에

<exclude name="*ant\1.7.1\ant-1.7.1.jar"/> 
<exclude name="*ant\1.5\ant-1.5.jar"/> 

을 넣었지만 작동하지 않습니다. 그 중복 항아리를 제외하는 방법이 있습니까?

답변

2

을 슬래시 사용하여이 방법을 시도 : -

<exclude name="**/ant/1.7.1/ant-1.7.1.jar"/> 
<exclude name="**/ant/1.5/ant-1.5.jar"/> 
+0

글쎄, 내 모든 문제를 해결하지 못했지만 classpath에서 그 항아리를 제거했습니다! 고마워요! – Raveline

0

하는 시도 즉, 대신 백 슬래시의

<exclude name="*ant/1.7.1/ant-1.7.1.jar"/>

+0

그것을 시도를하지만 작동하지 않았다, 기존의 개미는 여전히있다 classpath. – Raveline

관련 문제