如何通过一个类名找到它属于哪个jar包?

最简单的方式:

如果用eclipse选中类名,然后ctrl shift T,就可看到包含比类的包了

最有效的方式:

import java.net.URL;

/**
 * 检查class文件属于哪个jar包或位置。
 *
 * @author liulei
 *
 */
public class ClassPath {
        public static void main(String args[]) {
                Class targetclass = String.class;
                String className = targetclass.getName();
                className = className.replace(‘.‘, ‘/‘);
                String resource = "/" + className + ".class";
                URL url = targetclass.getResource(resource);
                System.out.println(url.getFile());
                // 输出结果:
                // file:/D:/devtools/IBMJSDK141/jre/lib/core.jar!/java/lang/String.class
        }

}

参考文献:

【1】http://www.oschina.net/question/243520_60497

【2】http://bbs.csdn.net/topics/360131456

时间: 2024-10-13 11:23:26

如何通过一个类名找到它属于哪个jar包?的相关文章

判断一个类到底是从哪个jar包中调用的工具类

项目中使用的jar包较多时,会出现jar冲突的情况,有时候很难判断当前使用的这个类是从哪个jar包中调用的.因为一般我们只能看到jar包的名称,不清楚其中的类的目录结构. 这个类的作用就是说明当前调用的类来自于哪个jar包. import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.security.CodeSource; import java.security.Pr

写一个函数找到给定字符串的位置

题目 给你一个排好序的并且穿插有空字符串的字符串数组,写一个函数找到给定字符串的位置. 例子:在字符串数组 [“at”, “”, “”, “”, “ball”, “”, “”, “car”, “”,“”, “dad”, “”, “”] 中找到”ball”,返回下标4. 例子:在字符串数组 [“at”, “”, “”, “”, “”, “ball”, “car”, “”, “”, “dad”, “”, “”] 中找到”ballcar”,查找失败,返回-1. 解答 字符串数组已经是有序的了,所以,还

Java类加载机制——如何实现一个工程中不同模块加载不同版本的同名jar包。

如何实现一个工程中不同模块加载不同版本的同名jar包? 曾是阿里面试的时候遇到的一个面试题.当时就有点晕,如果是平时遇到这样的问题肯定是统一加载相同版本的就好了. 而如果系统特别庞大依赖冲突繁多,涉及多部门协调,真的有必要解决这样的问题. 这个问题困扰我很久,一直没有好的解决办法.最近研究java虚拟机.终于找到了答案. 在JVM里由类名和类加载器区别不同的Java类型.因此,JVM允许我们使用不同的加载器加载相同namespace的java类,而实际上这些相同namespace的java类可以

【动态页面】(三)之二:通过自定义注解读取Jar包的类名和属性名

上篇博客介绍了通过反射读取Jar包的类名和属性名,但是问题是读不出类名和属性名的中文注释和属性类型.所以上篇博客埋下了一个伏笔,就是通过自定义注解的方式读取Jar包的类名.属性名.中文注释和属性类型.这篇博客我们就来好好讲讲是如何实现的. 首先先说一下,由于我们的Jar包没有放到项目下,所以就想着怎么能把Jar包添加进来,所以先做了一个类似于上传文件的功能,将Jar上传进来,然后再读取Jar包里面的类名.属性名等一系列属性,再添加到数据库中.总体的思路确定了,下面就开始实施. 首先是上传Jar包

maven打一个可执行的jar包

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <

Android反编译的一个注意细节----区分jar包

通过使用反编译工具得到apk的源码后,下一步就是复制源码还原工程了.但是我们得到的是jar文件,如何看清楚jar文件然后还原android工程就很重要了.下面就记录一下我如何分析的jar文件的过程. 1.  反编译apk得到源码. 这里我之前的一篇blog中进行了比较详细的说明:android之反编译浅析 2.  得到了源码之后几个关键的文件大家肯定都拿到了. ①  Android的manifest文件 ②  Res下的资源文件 ③  Jar文件 3.  关键的jar文件得到之后,我们分析它 (

一个快速搜索下载jar包的网站

在偶然的机会,我一个快速搜索下载jar包的网站.里面涵盖了所有的几乎全世界开源的jar包,感觉这个功能特别适合java.android开发者使用,共享出来給大家悄悄. 百度一下:manyjar,就可以找到这个jar下载的网站,或者直接:http://www.manyjar.com.很人性化.比如搜索spring.struts2.hibernate.jetty.tomcat等 这是提供该服务的网站的logo 搜索界面: 下载服务的界面

idea创建第一个web项目&amp;jar包导入

第一次从eclipse转到idea,很多地方都要重新学习,不得不说一下,对于初学者而言,myeclipse更适合.但是idea的效率比eclipse高啊,而且很多公司都没用eclipse了,所有我也开始习惯idea,以便适应即将面临的工作. ①创建一个Project File>New>Project,然后给项目随便取名ok 这里的Project就相当于eclipse的workspace ②创建一个module 右键刚刚创建的Project,New>Module 勾选WebApplicat

使用fatjar来实现将包含第三方jar包的项目到处成一个jar包供其他程序使用

一.在线安装fat jar 在线安装步骤: eclipse菜单栏 help >software updates >Search for new features to install>new update site> 填写name 和url name:任意起个, 就写fat吧 url:这个是fat jar的地址  输入http://kurucz-grafika.de/fatjar 二.fat-jar的使用 1.第一步,选中项目根节点后,点击右键,在弹出菜单中选择Build Fat