【发布时间】:2012-07-05 09:47:03
【问题描述】:
我编写了一个自定义的 maven 报告插件来输出有关 spring-mvc 类的一些基本信息。在我的内部测试中,我可以看到这样的代码:
public Set<Class<?>> findControllerClasses(File buildOutputDir) throws IOException, ClassNotFoundException {
Collection<URL> urls = ClasspathHelper.forJavaClassPath();
if (buildOutputDir != null) {
urls.add(buildOutputDir.toURI().toURL());
}
Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(urls));
Set<Class<?>> types = reflections.getTypesAnnotatedWith(Controller.class);
return types;
}
在引入带注释的类方面效果很好。但是,当我在另一个项目中使用报告插件时,不会选择带注释的类。
有人能解释一下如何访问已编译的类以进行报告吗?或者这是否可能??
编辑:使用以下答案部分解决:Add maven-build-classpath to plugin execution classpath
但是,如果类在 maven 的 runtimeClasspathElements var 之外没有依赖项,这只会加载类。有没有办法将这些类也合并到类域中?
【问题讨论】:
标签: java maven reflection maven-plugin