① 如何获取一个jar包里面的所有的类信息

如果你看过一些框架的源码,就知道大多数情形时他们都是先找到某个包的对应的文件位置,并遍历其下面的文件,读取其文件名,对应的就是类名。

java">/*
*@(#)PackageUtil.java1.002006-11-27
*
*Copyright(c).,Ltd.Allrightsreserved.
*/
packageorg.rut.core;

importjava.io.File;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.jar.JarEntry;
importjava.util.jar.JarInputStream;

/**
*@since2006-11-27
*@authorwushugen
*
*ModifiedHistory:
*
*/
publicclassPackageUtil{

/**
*@paramargs
*@throwsIOException
*/
publicstaticvoidmain(String[]args)throwsIOException{
List<String>cls=getClassInPackage("java.util");
for(Strings:cls){
System.out.println(s);
}

}

publicstaticList<String>getClassInPackage(StringpkgName){
List<String>ret=newArrayList<String>();
StringrPath=pkgName.replace('.','/')+"/";
try{
for(FileclassPath:CLASS_PATH_ARRAY){
if(!classPath.exists())continue;
if(classPath.isDirectory()){
Filedir=newFile(classPath,rPath);
if(!dir.exists())continue;
for(Filefile:dir.listFiles()){
if(file.isFile()){
StringclsName=file.getName();
clsName=pkgName+"."+clsName.substring(0,clsName.length()-6);
ret.add(clsName);
}
}
}else{
FileInputStreamfis=newFileInputStream(classPath);
JarInputStreamjis=newJarInputStream(fis,false);
JarEntrye=null;
while((e=jis.getNextJarEntry())!=null){
StringeName=e.getName();
if(eName.startsWith(rPath)&&!eName.endsWith("/")){
ret.add(eName.replace('/','.').substring(0,eName.length()-6));
}
jis.closeEntry();
}
jis.close();
}
}
}catch(Exceptione){
thrownewRuntimeException(e);
}

returnret;
}

privatestaticString[]CLASS_PATH_PROP={"java.class.path","java.ext.dirs",
"sun.boot.class.path"};

privatestaticList<File>CLASS_PATH_ARRAY=getClassPath();

privatestaticList<File>getClassPath(){
List<File>ret=newArrayList<File>();
Stringdelim=":";
if(System.getProperty("os.name").indexOf("Windows")!=-1)
delim=";";
for(Stringpro:CLASS_PATH_PROP){
String[]pathes=System.getProperty(pro).split(delim);
for(Stringpath:pathes)
ret.add(newFile(path));
}
returnret;
}
}

② 如何查找jar包的dependency

在项目中需要使用到某个jar包时,我们一般会用maven导入该jar,但是该jar需要依赖一些别的jar包,这时你想找出这个jar包到底依赖了哪些包,或者这么说,你有一个需求:把pom.xml中所有的dependency的依赖树状图勾画出来。

具体的做法:在命令行模式下,进入pom.xml所在目录,然后输入命令:

mvn dependency:tree

则会有类似以下格式的输出:

[INFO] [dependency:tree {execution: default-cli}]

[INFO] org.springframework.samples:mvc-ajax:war:1.0.0-SNAPSHOT

[INFO] +- org.springframework:spring-context:jar:3.0.5.RELEASE:compile

[INFO] | +- org.springframework:spring-aop:jar:3.0.5.RELEASE:compile

[INFO] | | /- aopalliance:aopalliance:jar:1.0:compile

[INFO] | +- org.springframework:spring-beans:jar:3.0.5.RELEASE:compile

[INFO] | +- org.springframework:spring-core:jar:3.0.5.RELEASE:compile

[INFO] | +- org.springframework:spring-expression:jar:3.0.5.RELEASE:compile

[INFO] | /- org.springframework:spring-asm:jar:3.0.5.RELEASE:compile

[INFO] +- org.springframework:spring-webmvc:jar:3.0.5.RELEASE:compile

[INFO] | +- org.springframework:spring-context-support:jar:3.0.5.RELEASE:

compile

[INFO] | /- org.springframework:spring-web:jar:3.0.5.RELEASE:compile

[INFO] +- org.slf4j:slf4j-api:jar:1.6.1:compile

[INFO] +- org.slf4j:jcl-over-slf4j:jar:1.6.1:runtime

[INFO] +- org.slf4j:slf4j-log4j12:jar:1.6.1:runtime

[INFO] +- log4j:log4j:jar:1.2.16:runtime

[INFO] +- javax.validation:validation-api:jar:1.0.0.GA:compile

[INFO] +- org.hibernate:hibernate-validator:jar:4.1.0.Final:compile

[INFO] +- joda-time:joda-time:jar:1.6.2:runtime

[INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.6.4:compile

[INFO] | /- org.codehaus.jackson:jackson-core-asl:jar:1.6.4:compile

[INFO] +- javax.servlet:servlet-api:jar:2.5:provided

[INFO] +- javax.servlet.jsp:jsp-api:jar:2.1:provided

[INFO] +- javax.servlet:jstl:jar:1.2:compile

[INFO] +- junit:junit:jar:4.7:test

[INFO] /- org.springframework:spring-test:jar:3.0.5.RELEASE:test

[INFO] —————————————————————

[INFO] BUILD SUCCESSFUL

[INFO] —————————————————————

[INFO] Total time: 1 minute 8 seconds

[INFO] Finished at: Tue Jan 04 16:53:45 CET 2011

[INFO] Final Memory: 12M/25M

[INFO] —————————————————————

整个pom.xml的依赖树状图一目了然。

③ 怎么查看jar包里面的源码

在Eclipse查看开发包jar源码的方法如下:
1.选择项目,右键中单击【Properties】
2.【Java Build Path】-【Configure Build Path】-【Libraries】,在下面找到如:Guava-r09.jar包,展开它,选择【Source attachment】,单击右边的【Edit…】按钮。
3.在打开的窗口中,可选择文件(jar\zip),目录或工作空间中的jar文件,在这里我选择External Folder…,选择如E:/java project/guava即可。

4.连续单击【OK】两次回到Eclipse工作平台即可。
或者:
有源码,把它加到eclipse中:
方法1:直接用压缩软件打开相应的jar包,然后把源码拖进去压缩一下,最后选中工程刷新一下ok。
方法2:右击referenced libraries中需要导入源代码的包,右击properties->Java source attatchment,根据你源文件格式(源码可以是直接src文件夹,也可以是压缩成zip或jar后的压缩文件)在右边选择合适的方式,最后点击ok。
至于如何源码打进jar包,在eclipse中打jar包的时候有个“Export java source files and resources”选项,选中它打包就ok;也可以如方法1那样,用eclipse生成一般jar包之后,用压缩软件把src文件夹压进去。

④ eclipse中怎么查找jar包

在Eclipse查看开发包jar源码的方法如下:1选择项目,右键中单击【Properties】2【Java Build Path】-【Configure Build Path】-【Libraries】,在下面找到如:Guava-r09jar包,展开它,选择【Source attachment】,单击右边的【Edit…】按钮。3在打开的窗口中,可选择文件jar\zip,目录或工作空间中的jar文件,在这里我选择External Folder…,选择如E:/java project/guava即可。4连续单击【OK】两次回到Eclipse工作平台即可。有源码,把它加到eclipse中: 方法1:直接用压缩软件打开相应的jar包,然后把源码拖进去压缩一下,最后选中工程刷新一下ok。 方法2:右击referenced libraries中需要导入源代码的包,右击properties->java source attatchment,根据你源文件格式(源码可以是直接src文件夹,也可以是压缩成zip或jar后的压缩文件)在右边选择合适的方式,最后点击ok。至于如何源码打进jar包,在eclipse中打jar包的时候有个“Export java source files and resources”选项,选中它打包就ok;也可以如方法1那样,用eclipse生成一般jar包之后,用压缩软件把src文件夹压进去。

⑤ java去哪个网站下载jar包

这个具体看你需要什么jar包,一般就去官网下载好了,还有
CSDN.NET

⑥ 怎样在spring官网上查找jar包

:在Eclipse查看开发包jar源码抄的方法如下: 1.选择项目,右键中单击【Properties】 2.【Java Build Path】-【Libraries】,在下面找到如:org.springframework.core-3.1.0.M1.jar包,展开它,选择【Source attachment】

⑦ 怎么查询一个注解是来自哪个jar包的

一般的开发工具都支持看源码,查看注解源码的包名,一般比较规范的包可以直接看出这个注解的包名对应的jar包

⑧ 如何查找maven库的jar包

1,将“F:\share\开发框架\JFinal:WEB_ORM开发框架\JFinal官网\jfinal-1.8-bin-with-src.jar”这个jar包,解压到一个按maven项目建立的文件夹(D:\EclipseWorkspace\jfinal_bin_src\src\main\java),删除文件夹下所有.class文件

2,在eclipse(luna)中导入上一步解压后的文件夹“D:\EclipseWorkspace\jfinal_bin_src”

3,多个java文件出现,import导入错误;如下图所示,输入import报错对应信息对应的jar包相关包内容,找到类似的包,如下图加红色圈标识,按“pom”链接

4,上一步“pom”链接打开,看下两图所示,复制前面maven的依赖相关代码,并拷贝到文本文档

5,在eclipse中打开(或新建)jfinal_bin_src/pom.xml,选择文件编辑区下方的“Dependencies”标签,再按“Add”按钮,如下图所示,从上一步的文本文件中复制Group Id等信息,并按“ok”。(注意,如果是有parent和model并存的,一般选择parent部分的Group Id和Version,选择model部分的Artifact Id)

6,如果上步输入的包依赖信息有错,则出现下图提示没有找到包

7,可以看上面第3步图片页面,换其它jar包或不同版本试一下;或者换一个查找网址,如下图:先查找org.springframework包,在查找结果中选择“spring-context”

继续选择其中一个jar包的版本(一般选择最新的)

然后,复制相关依赖信息,再回到eclipse新增依赖

注:有些依赖不一定用新版本的包,由于版本更新,可能会将一些子模块功能移动或废除了

⑨ 如何查看 JAR 包的源代码

如何查看 JAR 包的源代码
在Eclipse查看开发包jar源码的方法如下:
1.选择项目,右键中内单击【容Properties】
2.【Java Build Path】-【Libraries】,在下面找到如:org.springframework.core-3.1.0.M1.jar包,展开它,选择【Source attachment】,单击右边的【Edit…】按钮。
3.在打开的窗口中,可选择文件(jar\zip),目录或工作空间中的jar文件,在这里我选择External Folder…,选择如F:\Development Kit\spring-framework-3.1.0.M1-with-docs\spring-framework-3.1.0.M1\projects即可。
4.连续单击【OK】两次回到Eclipse工作平台即可。

⑩ 怎么在eclipse中搜索jar包

可以使用快捷键 Ctrl + H

或者点击菜单栏中的Search