导航:首页 > 源码编译 > 编译程序时怎么找jar包里的类

编译程序时怎么找jar包里的类

发布时间:2022-12-12 04:14:20

⑴ 怎么引用jar包中的类

第一步:把需要类所依赖的jar包导入项目,(以导入servlet-api.jar为例)具体方式如下:

在eclipse中新建一个项目-->项目右键-->Build Path-->Add External Archives--> -->tomcat-->lib-->servlet-api.jar

第二步:使用导入jar包中的类

把需要的类直接写入你的程序中,导包可以使用快捷键:Ctrl + Shift + O,如下图:

⑵ 怎么查找那个类在哪个jar包

用winrar打开jar,查看即可
if 使用的eclipse,ctrl+shift+t 搜该类,点击工程上面那个图标,定位到该类jar即可

⑶ 如何获取一个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文件中包含哪些类、方法

(1)用WinRAR打开
(2)找到想知道类和方法的class
(3)反编译 javap -c Class文件名
不能加class后缀

⑸ 怎么知道类在哪一个jar包中

用java -verbose YourApp来执行你的程序。然后底下的输出就会显示的。比如我有个程序PaintFrame在paint包里,我执行:
java -verbose paint.PaintFrame > out
然后看看out的内容(很长,但你可以自己随便搜一下了):
[Opened C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.io.Serializable from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.Comparable from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.String from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.reflect.Type from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
[Loaded java.lang.Class from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]
。。。

搜JFrame可以看到这么一行:
[Loaded javax.swing.JFrame from C:\Program Files\Java\jdk1.6.0\jre\lib\rt.jar]

你完全可以编个小程序提取出想要的所有东西。

⑹ 怎么知道一个类在哪个jar包中

是用eclipse么,直接ctrl+shift+t查找这个类,下面会显示类的路径,包括jar名

⑺ 怎么查找那个类在哪个jar包

myeclipse中有专门查看jar包源码的快捷键:
具体操作方法:选中类名,然后ctrl shift T,就可看到包含比类的包了。
JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。

⑻ java找不到jar包的类,不用eclipse纯手动编译怎么做

javac 编译时可以动态指定classpath路径使用-cp命令,将你的jar包加入到classpath路径中即可

⑼ 如何在目录中查找类位于哪个jar包中

使用反编译工具将jar包反编译,然后使用工具搜索。或者直接使用解压工具解压jar包,然后当作目录一个个找!

阅读全文

与编译程序时怎么找jar包里的类相关的资料

热点内容
大连php培训学校 浏览:985
怎么指定定向流量app的免流 浏览:900
华为云服务器有啥软件 浏览:654
礼记正义pdf 浏览:988
CorePDF 浏览:733
python多文件调用 浏览:329
linux如何用python 浏览:188
超易学的python 浏览:159
控制面板命令行 浏览:51
为什么空气难压缩是因为斥力吗 浏览:643
郭天祥单片机实验板 浏览:601
服务器有什么危害 浏览:258
饥荒怎么开新的独立服务器 浏览:753
文件夹变成了 浏览:560
linuxpython绿色版 浏览:431
怎么下载小爱同学音箱app 浏览:554
python占位符作用 浏览:76
javajdbcpdf 浏览:543
php网页模板下载 浏览:192
python试讲课pygame 浏览:409