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数组了;
    
        }
    }
  • 相关阅读:
    作为平台的Windows PowerShell(一)
    PowerShell中的数学计算
    PowerShell远程安装应用程序
    CRC码计算
    HTTP API 设计指南
    Restfull API 示例
    使用HttpClient 发送 GET、POST、PUT、Delete请求及文件上传
    函数可重入性及编写规范
    Python3中的http.client模块
    python用httplib模块发送get和post请求***
  • 原文地址:https://www.cnblogs.com/stono/p/9044315.html
Copyright © 2011-2022 走看看