svnant의 propget 작업을 사용하여 SVN 속성 값을 쿼리하려고하지만 문제가 발생했습니다.SVNnt - propget 작업 SVNKit을 사용하여 NoSuchMethodError
<project name="svntest" default="test">
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
<svnSetting javahl="false" svnkit="true" username="xxx" password="yyy" id="svn.settings" />
<target name="test">
<svn refid="svn.settings">
<update dir="." />
<propget path="file.xml" name="svn:keywords" property="prop.value" />
</svn>
<echo message="${prop.value}" />
</target>
</project>
내 SVN의 환매 특약은 1.7.5에 내가 호환되어야 1.7 svnkit 한 : 나는 빌드 파일의 폴더를 업데이트 한 다음 속성을 조회하는 간단한 개미 대상을 작성한
.
propget 및 echo 행을 주석 처리하면 폴더를 올바르게 업데이트합니다. 나는 SVN을 조회 할 때 는하지만 :
C : \ somepath는 \ test.xml의 : 11 : java.lang.NoSuchMethodError : org.tigris.subversion.javahl 나는이 오류가 특정 파일에 대한 속성을 키워드 . .PropertyData (LORG/티그리스/전복/JavaHL을/SVNClientInterface; Ljava/LANG/문자열; Ljava/LANG/문자열; Ljava/LANG/문자열 [B) I는 SVN 설정 한
V는 : 대한 속성 키워드 file.xml을 "value"로 설정하여 존재하지 않게하고 커밋합니다.
존재하지 않는 SVN 속성 (예 : "testprop")을 찾기 위해 propget name 인수를 변경하면 "$ {prop.value}"를 반환하지만 실패하지는 않습니다. prop.value 속성이 설정되지 않습니다. 실제로 custom.xml의 "testprop"SVN 속성을 file.xml에 추가하면 위의 오류가 다시 발생합니다. 따라서 속성을 찾고 값을 얻으려고 시도 할 때만 발생하는 것 같습니다.
이전에 javahl을 사용하려고 했으므로 false로 설정하고 대신 svnkit을 사용했습니다. 그러나 업데이트 작업이 작동 이후 javahl/svnkit 바인딩 문제가 생각하지 않았을 것입니다.
도움을 주시면 감사하겠습니다.
안녕하세요 차드,이 병은 이미 내 Ant 클래스 경로에 있습니다. 이전에 SVNKit 독립 실행 형 zip lib (전체 16 개)에서 다른 병을 추가했습니다. FYI * VERSION *은 1.7.11입니다. – Neil
팁 주셔서 감사하지만 나는 이것을 알아 냈습니다. Eclipse를 통해 Ant를 사용하고 Ant 설정에서 svnkit-javahl16-1.7.11.jar을 Ant Home 항목뿐만 아니라 다른 "svnjavahl"jar 파일에 추가했습니다. 이걸 제거하면 잘 작동합니다. – Neil