社区
Web 开发
帖子详情
用程序怎么访问jar包中的class类
leewer
2006-02-21 06:29:15
就是说不知道jar包中有些什么类,想动态加载把这些类加入到一个hashtable中
...全文
160
5
打赏
收藏
用程序怎么访问jar包中的class类
就是说不知道jar包中有些什么类,想动态加载把这些类加入到一个hashtable中
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leewer
2006-02-22
打赏
举报
回复
我的意思是浏览WEB-INF/lib下的指定包,并把某些特殊的类预先装入!
leewer
2006-02-22
打赏
举报
回复
自己解决了
就是用java.net.JarFile
try {
JarFile myjarFile = new JarFile(classPath + "/lib/xxxx.jar");
Enumeration enumer=myjarFile.entries();
while(enumer.hasMoreElements()){
JarEntry entry=(JarEntry)enumer.nextElement();
if(entry.getName().startsWith("web/style/nodes/")){
fileList.add(entry.getName());
}
}
} catch (IOException ex) {
}
if(fileList.size()>0){
for(int i=0;i<fileList.size();i++){
try {
// String classname=filename[i].substring(0,filename[i].length()-6);
// Class x=Class.forName(NodeDeal.classPackage +classname);
String className=fileList.get(i).toString().replaceAll("/",".");
Class x=Class.forName(className.substring(0,className.length()-6));
Class p=x.getSuperclass();
if(p.getName().indexOf("NodeDealer")!=-1){
Class[] interfaces = x.getInterfaces();
for (int j = 0; j < interfaces.length; j++) {
if (interfaces[j].getName().indexOf("NodeDeal")!=-1) {
try {
NodeDealer obj=(NodeDealer)x.newInstance();
myTable.put(obj.getNodeName(),obj);
} catch (Exception ex1) {
}
}
}
}
} catch (ClassNotFoundException ex) {
}
}
Paripatetic
2006-02-21
打赏
举报
回复
把jar文件的路径(...*.jar)包含到classpath变量中去
zengguiyeah
2006-02-21
打赏
举报
回复
可以用JAVA.IO.FILE查找文件目录和文件,然后把它们一个个的装进HASHTABLE,不过要使用时就要注意要转换成可以使用的方法
执假以为真
2006-02-21
打赏
举报
回复
你到底想干什么?说出来,或者有其他解决办法。
Java如何
访问
Jar包
内部的
Jar包
资源
本文详细讨论了Java如何
访问
Jar包
内部的资源,包括Java命令的组成、
类
加载机制,以及解决-
class
path不生效的问题。介绍了Spring Boot的
Jar包
内
类
加载原理,并提供了在不同环境下的Java启动命令推荐方案。
java获取
jar包
中
的文件资源
本文介绍了Java开发
中
如何处理
jar包
资源文件
访问
的问题,重点讲解了使用
Class
Loader获取资源流而非普通文件路径的方法,以及如何通过
Class
.getResourceAsStream进行操作。
java url包_java
中
使用URL
Class
Loader
访问
外部
jar包
的java
类
本文介绍了如何在Java
中
利用URL
Class
Loader加载外部
jar包
中
的
类
,详细讲解了Java的
类
加载机制,并提供了三种不同场景下的加载示例:1)加载仅包含.
class
文件的
jar包
;2)加载包含内部
jar包
并读取properties文件;3)在项目内获取指定包的
Class
对象。此外,还补充了读取和写入
jar包
内资源文件的方法。
Java / JDK / JRE
中
的rt.jar是什么? 为什么重要?
本文介绍了Java / JDK / JRE
中
的rt.jar文件。rt.jar代表runtime JAR,包含核心Java API的所有
类
,位于JRE的lib目录下。它是
类
似zip的压缩文件,存储Java
class
文件和资源。必须在
类
路径
中
包含它,否则无法
访问
核心
类
。不建议将自己的
类
放进rt.jar,JDK源码可在src.zip
中
找到。
java技术层面用调用
jar包
的
class
文件的技术
在Java技术层面,除反射外,还有
类
加载器、ServiceLoader、动态代理、Spring框架等方式调用
JAR包
中
的
类
文件。每种方式有不同应用场景和优缺点,如反射灵活但性能开销大,
类
加载器适用于动态加载多个
JAR包
。选择时需考虑项目需求、架构设计和性能要求等因素。
Web 开发
81,111
社区成员
341,727
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章