zoukankan      html  css  js  c++  java
  • 获取类路径中含有beans.xml的jar包名称

    获取类路径中含有beans.xml的jar包名称

    package com.stono;
    
    import java.io.File;
    import java.io.IOException;
    import java.net.JarURLConnection;
    import java.net.URL;
    import java.util.Enumeration;
    import java.util.LinkedHashSet;
    import java.util.Set;
    import java.util.jar.JarFile;
    
    public class LoadJars {
        public static void main(String[] args) throws IOException {
            ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
            System.out.println(contextClassLoader);
            Enumeration<URL> resources = contextClassLoader.getResources("META-INF/beans.xml"); // MANIFEST.MF
            Set<String> jarNames = new LinkedHashSet<>();
            String separator = File.separator;
            System.out.println(separator);
            while (resources.hasMoreElements()) {
                URL url = resources.nextElement();
                System.out.println(url);
                String protocol = url.getProtocol();
                System.out.println(protocol); // 竟然是jar
                if ("jar".equals(protocol)) {
                    JarFile jarFile = ((JarURLConnection) url.openConnection()).getJarFile();
                    String name = jarFile.getName();
                    System.out.println(name);
                    if (name.indexOf(separator) == -1) {
                        jarNames.add(name);
                        continue;
                    }
                    String jarName = name.substring(name.lastIndexOf(separator) + separator.length(), name.length());
                    jarNames.add(jarName);
                }
            }
            System.out.println(jarNames);
            // toArray还可以输入参数;
            System.out.println(jarNames.toArray(new String[]{}));
            System.out.println(jarNames.toArray()); // 这个就是object数组了;
    
        }
    }
  • 相关阅读:
    indy Sftp 编程 ftp安全访问
    关于MySql里的字段
    php---魔术方法(__tostring(),__set_state())
    看了这个才发现jQuery源代码不是那么晦涩
    JS的Document属性和方法小结
    JS的Document属性和方法
    原始JS选择器使用方法总结
    docker 镜像配置
    Docker部署SpringBoot项目
    springboot 和spring cloud 博客分享
  • 原文地址:https://www.cnblogs.com/stono/p/9044315.html
Copyright © 2011-2022 走看看