Topic: 如何判断一个App是以class形式启动的还是以jar形式启动的?

  Print this page

1.如何判断一个App是以class形式启动的还是以jar形式启动的? Copy to clipboard
Posted by: jfml
Posted on: 2003-07-21 16:24

如何判断一个App是以class形式启动的还是以jar形式启动的?

请指教

谢谢

2.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: luoq_dl
Posted on: 2003-07-21 16:31

看Jar包中MANIFEST.MF文件中是否有Main-Class:标识
如果有,那么可以以Jar形式启动

3.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: jfml
Posted on: 2003-07-21 16:33

晕倒

我的意思是

如何在main函数中判断这个App到底是运行某个class启动的

还是运行某个jar启动的

4.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: luoq_dl
Posted on: 2003-07-21 16:38

我看干脆判读以下是用脚本(.sh, .bat,...)启动,还是用户输入键盘命令启动的方便!!

真是没有办法了!为什么有这种需求??

5.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: nov1
Posted on: 2003-07-23 04:47

I could not think of a 100% reliable method to do this. If I were you, I would try followings:

1, Check class loader;

2, Check system properties such as System.getProperty("java.class.path") to see whether your jar is in the classpath. If yes, it properly was loaded from the jar.

6.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: jeez
Posted on: 2003-07-23 10:31

你可以写一个classloader自己载入类,那样就知道哪个类是从jar中载入的,哪些是从class载入的咯。

7.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: dog72
Posted on: 2003-07-23 14:50

当真Crazy! 我建议你先检讨一下设计方案,为什么会产生这样的实现需求,看看有什么更好的设计能够解决问题,无论怎么看这样的实现都象在workaround。

8.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: lixj0571
Posted on: 2003-07-24 12:49

this.getClass().getProtectionDomain().getCodeBase().getLocatin()

9.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: iwtg
Posted on: 2003-07-28 16:35

我也想知道的说

10.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: sunmoon
Posted on: 2003-09-20 15:15

实在是够变态

11.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: yb79528
Posted on: 2003-09-29 13:55

不太明白为什么这么做

12.Re:如何判断一个App是以class形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: hitaco
Posted on: 2003-10-05 20:35

有意思的想法

13.Re:如何判断一个App且詂lass形式启动的还是以jar形式启动的? [Re: CrazyJavar] Copy to clipboard
Posted by: javadd
Posted on: 2003-10-05 23:32

有趣的想法.......

以前在Installanywhere上面有看到过,它的代码如果是不以jar形式运行,最终将会导致启动后,退出.

具体不清楚是怎么实现的~~~

14.Re:如何判断一个App且詂lass形式启动的还是以jar形式启动的? [Re: javadd] Copy to clipboard
Posted by: Jove
Posted on: 2003-10-06 12:02

javadd wrote:
有趣的想法.......

以前在Installanywhere上面有看到过,它的代码如果是不以jar形式运行,最终将会导致启动后,退出.

具体不清楚是怎么实现的~~~


public class PrintMe{
public static void main(String[] args){
System.out.println(PrintMe.class.getResource("PrintMe.class"));
}
}
如果打包在jar中,会显示jar:file:/F:/Java/test/PrintMe.jar!/PrintMe.class
否则为file:/F:/Java/test/PrintMe.class


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923