我寫了一個定製的maven報告插件來輸出一些關於spring-mvc類的基本信息。在我的內部測試中,我可以看到這樣的代碼:訪問定製maven報告插件中的類
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
然而,這只是加載類,如果他們有runtimeClasspathElements VAR的行家之外沒有依賴關係。有什麼辦法可以將這些類合併到classrealm中嗎?
我試過了,但它沒有幫助。我發現有幫助,雖然是這個線程http://stackoverflow.com/questions/2659048/add-maven-build-classpath-to-plugin-execution-classpath – MikePatel 2012-07-06 08:51:53