您希望为 Reflections.collect() 从 Groovy 脚本提供什么驱动程序?

What driver are you expected to provide for Reflections.collect() to work from a Groovy script?

我有以下临时代码片段

import com.google.appengine.api.datastore.Entity
import org.reflections.Reflections

Reflections r = Reflections.collect()
Set<Class<?>> entities = r.getTypesAnnotatedWith(Entity.class)
print entities

抛出以下异常:

org.xml.sax.SAXException: Can't create default XMLReader; is system property org.xml.sax.driver set?
    at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
    at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)

谷歌搜索 org.xml.sax.SAXException: Can't create default XMLReader; is system property org.xml.sax.driver set? 提出问题,主要是关于 Android link 只有答案或基于代码的答案实际上并没有解决提供正确系统的问题 属性值。

相同的代码与来自同一 IDE 项目的 Java 代码工作。

那么我需要提供什么才能使它作为 Groovy 脚本工作?

我的 Maven 项目的 src/test/groovy 中有这个脚本,所以我添加了。

<dependency>
    <groupId>org.apache.servicemix.bundles</groupId>
    <artifactId>org.apache.servicemix.bundles.crimson</artifactId>
    <version>1.1.3_2</version>
    <scope>test</scope>
</dependency>

给我的pom.xml

并且我将 -Dorg.xml.sax.driver=org.apache.crimson.parser.XMLReaderImpl 添加到脚本 Run/Debug Configuration 中的 VM Options:

这使它工作,但我仍然想知道我可以使用什么,而不必添加依赖项来将 test 范围内的东西获取到 运行,因为 main 范围在没有这种依赖性的情况下工作。