ruanwenjun commented on a change in pull request #5676:
URL: https://github.com/apache/dolphinscheduler/pull/5676#discussion_r657756475



##########
File path: 
dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/plugin/DolphinPluginDiscovery.java
##########
@@ -83,6 +83,7 @@ private DolphinPluginDiscovery() {
 
         return listClasses(file.toPath()).stream()
                 .filter(name -> classInterfaces(name, 
classLoader).contains(DolphinSchedulerPlugin.class.getName()))
+                .map(plugin -> plugin.replace(File.separatorChar, '.'))

Review comment:
       Yes, we need to confirm whether the `reader.getSuperName()` will return 
'\\'.
   ```java
   /**
      * Returns the internal of name of the super class (see {@link 
Type#getInternalName()}). For
      * interfaces, the super class is {@link Object}.
      *
      * @return the internal name of the super class, or <tt>null</tt> for 
{@link Object} class.
      * @see ClassVisitor#visit(int, int, String, String, String, String[])
      */
     public String getSuperName() {
       // super_class is after the access_flags and this_class fields (2 bytes 
each).
       return readClass(header + 4, new char[maxStringLength]);
     }
   
   /**
      * Returns the internal name of the class corresponding to this object or 
array type. The internal
      * name of a class is its fully qualified name (as returned by 
Class.getName(), where '.' are
      * replaced by '/'). This method should only be used for an object or 
array type.
      *
      * @return the internal name of the class corresponding to this object 
type.
      */
     public String getInternalName() {
       return valueBuffer.substring(valueBegin, valueEnd);
     }
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to