Jaxp вопрос?Не удается найти org.apache.xerces.jaxp.DocumentBuilderFactoryImpl, используя gradle - PullRequest
0 голосов
/ 14 мая 2011

У меня проблемы с загрузкой класса в скрипте gradle. Когда я запускаю этот код:

buildscript {
    repositories {
       mavenCentral()
    }
    dependencies {
        classpath( group:"xerces", name:'xercesImpl', version:'2.9.1')
    }
}

task hello {
    doLast {
        println 'Hello world!'
        Class testClass = Class.forName("org.apache.xerces.jaxp.DocumentBuilderFactoryImpl")
        assert testClass: "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found"
        println "found"
    }
}

Я получаю это, когда запускаю "gradle hello": java.lang.ClassNotFoundException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl "

Я подозреваю, что проблемы с реализацией Jaxp, но мало что знаю о том, как работает jaxp.

Спасибо за любую помощь

Ответы [ 2 ]

0 голосов
/ 31 мая 2011

Попробуйте getClass().getClassLoader() вместо.Class.forName() не должен использоваться вообще;у него есть известные проблемы при вызове из Java, и он абсолютно ненадежен при вызове из Groovy (обычно вместо загрузчика классов вызывающего абонента вы получите загрузчик классов библиотеки Groovy).

0 голосов
/ 16 мая 2011

Достаточно ли чего-нибудь подобного?

import org.apache.xerces.jaxp.DocumentBuilderFactoryImpl;

buildscript {
    repositories {
       mavenCentral()
    }

    dependencies {
        classpath group:"xerces", name:'xercesImpl', version:'2.9.1'
    }
}

task hello {
        println 'Hello world!'
        DocumentBuilderFactoryImpl obj = new DocumentBuilderFactoryImpl()
        // do something with obj
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...