Справочник по C#

    Исходники по языку программирования CSharp

    Как загрузить классы, которых нет в вашем classpath

    /
    /
    /
    101 Views

    В определенном сценарии вам может потребоваться загрузить некоторые классы, которых нет в вашем пути к классам.

    Пример Java

    Предположим, что папка « c: // other_classes // » отсутствует в пути к классам вашего проекта, вот пример, показывающий, как загрузить класс Java из этой папки. Код и комментарии говорят сами за себя.

    
    import java.io.File;
    import java.net.URL;
    import java.net.URLClassLoader;
    import java.security.CodeSource;
    import java.security.ProtectionDomain;
    
    public class App{
    
    public static void main(String[] args) {
    
    try{
    
    File file = new File("c:\other_classes\");
    
    // преобразовать файл в формат URL
    URL url = file.toURI().toURL();
    URL[] urls = new URL[]{url};
    
    // загрузить эту папку в загрузчик классов
    ClassLoader cl = new URLClassLoader(urls);
    
    // загрузить класс Address в 'c:  other_classes '
    Class  cls = cl.loadClass("com.csharpcoderr.io.Address");
    
    // выводим местоположение, из которого был загружен этот класс
    ProtectionDomain pDomain = cls.getProtectionDomain();
    CodeSource cSource = pDomain.getCodeSource();
    URL urlfrom = cSource.getLocation();
    System.out.println(urlfrom.getFile());
    
    }catch(Exception ex){
    ex.printStackTrace();
    }
    }
    }
    

    Выход

    
    /c:/other_classes/
    

    Вы заметите, что этот класс загружен из « / c: / other_classes / », которого нет в пути к классам вашего проекта.

    путь к классу Java

    Как загрузить классы, которых нет в вашем classpath

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest