反射 – 如何在groovy项目中的类路径中找到所有接口实现?
发布时间:2020-12-14 16:33:10 所属栏目:大数据 来源:网络整理
导读:我正在实现一个接口,现在我想在classpath中获得该接口的所有实现.这可能还是我应该做些什么? 解决方法 您可以将 Reflections library用于此类事物,即;要查找实现Iterator接口的org.codehaus.groovy中的所有类,您可以执行以下操作: @Grab( 'org.slf4j:slf4j
我正在实现一个接口,现在我想在classpath中获得该接口的所有实现.这可能还是我应该做些什么?
解决方法
您可以将
Reflections library用于此类事物,即;要查找实现Iterator接口的org.codehaus.groovy中的所有类,您可以执行以下操作:
@Grab( 'org.slf4j:slf4j-api:1.7.5' ) @Grab( 'org.reflections:reflections:0.9.9-RC1' ) import org.reflections.* new Reflections( 'org.codehaus.groovy' ).getSubTypesOf( Iterator ).each { println it.name } 哪个印刷品: org.codehaus.groovy.runtime.StringGroovyMethods$1 org.codehaus.groovy.runtime.SwingGroovyMethods$7 org.codehaus.groovy.util.ArrayIterator org.codehaus.groovy.runtime.metaclass.ConcurrentReaderHashMap$KeyIterator org.codehaus.groovy.control.CompilationUnit$9 org.codehaus.groovy.runtime.SqlGroovyMethods$ResultSetMetaDataIterator org.codehaus.groovy.runtime.SwingGroovyMethods$1 org.codehaus.groovy.util.ManagedLinkedList$Iter org.codehaus.groovy.runtime.SwingGroovyMethods$3 org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$2 org.codehaus.groovy.runtime.SwingGroovyMethods$6 org.codehaus.groovy.ant.FileIterator org.codehaus.groovy.runtime.IOGroovyMethods$3 org.codehaus.groovy.runtime.DefaultGroovyMethods$DropWhileIterator org.codehaus.groovy.runtime.DefaultGroovyMethods$TakeIterator org.codehaus.groovy.runtime.DefaultGroovyMethods$3 org.codehaus.groovy.runtime.SwingGroovyMethods$5 org.codehaus.groovy.runtime.SwingGroovyMethods$2 org.codehaus.groovy.runtime.metaclass.ConcurrentReaderHashMap$HashIterator org.codehaus.groovy.runtime.metaclass.ConcurrentReaderHashMap$ValueIterator org.codehaus.groovy.runtime.XmlGroovyMethods$1 org.codehaus.groovy.runtime.SwingGroovyMethods$4 org.codehaus.groovy.runtime.IOGroovyMethods$2 org.codehaus.groovy.runtime.ReverseListIterator org.codehaus.groovy.runtime.DefaultGroovyMethods$TakeWhileIterator (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |