java scnner包_java – 加载包中的每个类

使用

reflections API肯定会起作用.如果不是,你可能会以错误的方式设置它.我只是编写了这个例子,它独立于任何类加载器打印包中的所有类.

package com.test;

import java.util.Arrays;

import java.util.Iterator;

import java.util.Set;

import org.reflections.Reflections;

import org.reflections.scanners.FieldAnnotationsScanner;

import org.reflections.scanners.MemberUsageScanner;

import org.reflections.scanners.MethodAnnotationsScanner;

import org.reflections.scanners.MethodParameterNamesScanner;

import org.reflections.scanners.MethodParameterScanner;

import org.reflections.scanners.SubTypesScanner;

import org.reflections.scanners.TypeAnnotationsScanner;

import org.reflections.util.ClasspathHelper;

import org.reflections.util.ConfigurationBuilder;

import org.reflections.util.FilterBuilder;

public class Runner {

public static void main(String[] args) {

Reflections reflections = new Reflections();

FilterBuilder TestModelFilter = new FilterBuilder().include("com.test.*");

reflections = new Reflections(new ConfigurationBuilder()

.setUrls(Arrays.asList(ClasspathHelper.forClass(Runner.class))).filterInputsBy(TestModelFilter)

.setScanners(new SubTypesScanner(false), new TypeAnnotationsScanner(), new FieldAnnotationsScanner(),

new MethodAnnotationsScanner(), new MethodParameterScanner(), new MethodParameterNamesScanner(),

new MemberUsageScanner()));

Set> allClasses = reflections.getSubTypesOf(Object.class);

System.out.println(allClasses);

for (Iterator it = allClasses.iterator(); it.hasNext();) {

Class extends Object> clazz = (Class extends Object>) it.next();

System.out.println(clazz.getCanonicalName());

}

}

}

我按意图添加了所有导入,因此您可以查看它使用的API.这对你有用吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值