求解高手。如何从被执行的JAR包中的类,得到该JAR包的名字。

fength2004 2010-12-17 04:52:54
前提是我不知道点击了那个JAR包。
如何获取自己的JAR的包名啊。。。
如C盘下有 aaa.jar bbb.jar ccc.jar
双击aaa.jar 的时候就是aaa,
双击bbb.jar 的时候就是bbb
双击ccc.jar 的时候就是ccc
...全文
1014 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
magong 2010-12-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 huntor 的回复:]

Java code
public class CLocation{
public static void main(final String[] args) {
String path = CLocation.class.getProtectionDomain().getCodeSource().getLocation().getPath();
System.out.p……
[/Quote]

不错。
测试了,可以的。
revoinfo 2010-12-17
  • 打赏
  • 举报
回复
不明白,ctrl+shift+T 然后输入类名,就能看到类所在的jar包的名字。
huntor 2010-12-17
  • 打赏
  • 举报
回复
上面代码在ubuntu下通过验证。在 windows 下清替换 “/“
huntor 2010-12-17
  • 打赏
  • 举报
回复
public class CLocation{
public static void main(final String[] args) {
String path = CLocation.class.getProtectionDomain().getCodeSource().getLocation().getPath();
System.out.println(path);
System.out.println(path.substring(path.lastIndexOf("/")+1,path.lastIndexOf(".")));
}
}

放到jar里可以正常运行、否则会抛出 java.lang.StringIndexOutOfBoundsException
24K純帥 2010-12-17
  • 打赏
  • 举报
回复
俺只知道反射,jar俺就不知道啦
llongfeng2008 2010-12-17
  • 打赏
  • 举报
回复
是想用程序来实现吗?有点没明白你的意思
Jlins 2010-12-17
  • 打赏
  • 举报
回复
linux下面 就ps一下就行
window 下面 查看任务管理器....
酒剑仙 2010-12-17
  • 打赏
  • 举报
回复
神马?
点引入的类的话,好像会显示该类来至那个JAR包!你要在程序使用 我就不知道了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧