You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by vs...@apache.org on 2007/11/03 11:51:16 UTC

svn commit: r591582 - /maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java

Author: vsiveton
Date: Sat Nov  3 03:51:14 2007
New Revision: 591582

URL: http://svn.apache.org/viewvc?rev=591582&view=rev
Log:
o prevent Doclet Class Not Found from Javadoc tool by setting current class loader

Modified:
    maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java

Modified: maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java?rev=591582&r1=591581&r2=591582&view=diff
==============================================================================
--- maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java (original)
+++ maven/sandbox/trunk/jxr/maven-jxr/maven-jxr-java/src/main/java/org/apache/maven/jxr/java/doc/GenerateUMLDoc.java Sat Nov  3 03:51:14 2007
@@ -488,12 +488,23 @@
         StringWriter err = new StringWriter();
         StringWriter warn = new StringWriter();
         StringWriter notice = new StringWriter();
-        int exit = Main.execute( "javadoc", new PrintWriter( err ), new PrintWriter( warn ), new PrintWriter( notice ),
-                                 XMLDoclet.class.getName(), (String[]) args.toArray( new String[0] ) );
 
-        if ( exit != 0 )
+        ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
+        try
         {
-            throw new IOException( "Error when calling Javadoc: " + err );
+            Thread.currentThread().setContextClassLoader( XMLDoclet.class.getClassLoader() );
+            int exit = Main.execute( "javadoc", new PrintWriter( err ), new PrintWriter( warn ),
+                                     new PrintWriter( notice ), XMLDoclet.class.getName(), (String[]) args
+                                         .toArray( new String[0] ) );
+
+            if ( exit != 0 )
+            {
+                throw new IOException( "Error when calling Javadoc: " + err );
+            }
+        }
+        finally
+        {
+            Thread.currentThread().setContextClassLoader( currentClassLoader );
         }
     }