将java工程打成jar包后,如何得到jar包中写好的类
现在将一个java工程打包成jar之后,想要在这个工程中得到某些类的路径从而进行动态加载。现在一直得到的路径是jar:file:/F:/CodeLibraryModel.jar!/org/model/ReadXml/ 
这个路径下面有四个类文件,想从里面得到他但是现在是jar形式,没办法拿到。有办法得到吗?javajarfile

解决方案 »

  1.   

    动态加载?怎么动态加载
    直接
    import org.model.ReadXml.*
    不就行了
      

  2.   

    可以实现,用 Jar 流读取 jar 包中的类文件的路径,
    对这个路径做些处理,替换路径分隔符为点,去掉 .class 后缀,
    然后拿得到的字符串,以 Class.forName("sdfsdfsdfdsfsd");的形式动态加载
    使用的话要对 java 反射机制有了解才行,如果反射不熟悉的话,
    可以在网上找点儿反射的示例代码看看,怎么实例化,怎么调用对象方法,静态方法等~
    想详细了解 java 反射的话,MLDN 李兴华 的反射那里讲的还可以,推荐看一下~
      

  3.   

    动态加载?那你自己实现一个 ClassLoader 加载这个 jar 中的类呗。