mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 01:54:47 +02:00
6748546: javadoc API should be classloader-friendly
Reviewed-by: bpatel
This commit is contained in:
parent
ebc51f0813
commit
1a0a9d1a6f
3 changed files with 113 additions and 7 deletions
|
@ -32,7 +32,6 @@ import static com.sun.javadoc.LanguageVersion.*;
|
|||
import com.sun.tools.javac.util.List;
|
||||
|
||||
import java.net.*;
|
||||
import java.lang.OutOfMemoryError;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
@ -70,7 +69,8 @@ public class DocletInvoker {
|
|||
}
|
||||
|
||||
public DocletInvoker(Messager messager,
|
||||
String docletClassName, String docletPath) {
|
||||
String docletClassName, String docletPath,
|
||||
ClassLoader docletParentClassLoader) {
|
||||
this.messager = messager;
|
||||
this.docletClassName = docletClassName;
|
||||
|
||||
|
@ -82,7 +82,10 @@ public class DocletInvoker {
|
|||
cpString = appendPath(System.getProperty("java.class.path"), cpString);
|
||||
cpString = appendPath(docletPath, cpString);
|
||||
URL[] urls = pathToURLs(cpString);
|
||||
appClassLoader = new URLClassLoader(urls);
|
||||
if (docletParentClassLoader == null)
|
||||
appClassLoader = new URLClassLoader(urls);
|
||||
else
|
||||
appClassLoader = new URLClassLoader(urls, docletParentClassLoader);
|
||||
|
||||
// attempt to find doclet
|
||||
Class dc = null;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue