① 如何獲取一個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