Я пытаюсь использовать SVNKit для получения журнала записей SVN в Coldfusion. Я скачал последние jar-файлы SVNKit и закинул их в папку lib в папке WEB-INF/lib.
Вот мой код, который должен возвращать массив записей журнала, но этот код возвращает исключение нулевого указателя в Coldfusion 9.0.2.
SVNURL = createObject('java','org.tmatesoft.svn.core.SVNURL').parseURIEncoded(svnurl);
drf = createObject("java","org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory");
drf.setup();
rf = drf.create(SVNURL);
SVNWCUtil = createObject("java","org.tmatesoft.svn.core.wc.SVNWCUtil");
authManager = SVNWCUtil.createDefaultAuthenticationManager(user,pass);
rf.setAuthenticationManager(authManager);
log = rf.log(JavaCast("String[]",[]),JavaCast("null",""),JavaCast("long",10),JavaCast("long",15),true,true);
rf.closeSession();
При запуске этого кода я получаю следующую ошибку.
Система попыталась использовать неопределенное значение, что обычно указывает на программную ошибку либо в вашем коде, либо в системном коде. Нулевые указатели — это еще одно название неопределенных значений.
Что указывает на эту строку..
log = rf.log(JavaCast("String[]",[]),JavaCast("null",""),JavaCast("long",10),JavaCast("long",15),true,true);
Я перенес этот же код в Railo, и все работает нормально. Я просто не понимаю, почему ACF задыхается от метода log().
Для начала я использовал пример Распечатка истории репозитория на SVNKit Wiki.
Мы будем очень признательны за любые предложения по работе с Adobe Coldfusion. На CF10 не тестировал.
rf
, показывает ли он сигнатуру метода, который вы пытаетесь использовать? - person imthepitts   schedule 25.06.2013