zoukankan      html  css  js  c++  java
  • 加载jar文件输出class和method

    package file
    
    import java.util.jar.JarEntry
    import java.util.jar.JarFile
    
    import org.junit.Test;
    
    class ReadJarFileTest01 {
    
    	@Test
    	void test001(){
    		String default_path = "D:/tools/struts-2.3.16/lib/commons-lang-2.4.jar";
    		
    		URL[] urls = new URL[1]
    		urls[0] = new URL("file:" + default_path)
    		ClassLoader parentclassloader = Thread.currentThread().getContextClassLoader()
    		//URLClassLoader classLoader = new URLClassLoader(urls, parentclassloader)
    		URLClassLoader classLoader = new URLClassLoader(urls)
    		Map<String,List<String>> classMethodMap = new LinkedHashMap<String,List<String>>()
    		JarFile jarfile = new JarFile(default_path)
    		for(JarEntry entry : jarfile.entries()){
    			def ename = entry.getName()
    			if( ename.contains(".class") ){
    				List<String> methods = new ArrayList<String>()
    				classMethodMap.put(ename.substring(ename.lastIndexOf("/"), ename.lastIndexOf(".")), methods)
    				
    				def wholeClassName = ename.replaceAll("/", ".")
    				wholeClassName = wholeClassName.substring(0, wholeClassName.lastIndexOf("."))
    				//println wholeClassName
    				if( wholeClassName.contains("ArrayUtils") ){
    					Class clazz = classLoader.loadClass(wholeClassName)
    					println clazz.getPackage().getName()
    					java.lang.reflect.Method[] methodArr = clazz.getMethods()
    					println "================="
    					for( p in methodArr ){
    						println p
    					}
    				}
    			}
    		}
    	}
    	
    }
    

      

  • 相关阅读:
    使用Myeclipse + SVN + TaoCode 免费实现项目版本控制的详细教程
    国内的代码托管服务
    国内可用的SVN和Git代码托管网站汇总
    需求调研与分析流程
    如何做好新项目的需求调研?(一)
    如何进行有效的需求调研
    weblogic和tomcat
    同步变量也是变量
    并发编程的三个管理
    机器学习
  • 原文地址:https://www.cnblogs.com/juedui0769/p/3989581.html
Copyright © 2011-2022 走看看