JAVA如何在main()中取得当前jar的名字和路径?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA如何在main()中取得当前jar的名字和路径?相关的知识,希望对你有一定的参考价值。
JAVA代码: 如何在main()中取得当前jar的名字和路径?
java 允许我们定位某个 class 的 CodeSource 。通过 CodeSource 提供的 Location 信息就能够找到相关的文件路径。
假设 aa.jar 的 main class 是 Test,通过
new Test().getClass().getProtectionDomain().getCodeSource().getLocation();
可以获取到jar包的路径。jar的名称就好办了。截取下上面获取到的路径字符串就行了。 参考技术A 使用 System.getProperty("java.class.path")本回答被提问者采纳 参考技术B 通过这个new Test().getClass().getProtectionDomain().getCodeSource().getLocation();可以取到
linux命令行运行jar包,一定要用-classpath指定路径吗?另外jar包名字后面还要跟一个类,这是为啥?
不一定java -jar jarname就可以了 但这种必须打jar包时指定Main-Class
jar包名字后面跟的类就是运行时的主类,指定了Main-Class就可以不加追问
是两种运行jar文件的命令格式吗?这两种方法哪个都行?即
java -jar xxxx.jar
或
java -classpath ***.jar
不是
java [-classpath:......] -jar xxx.jar [classname]
以上[]内可以省略
-classpath表示需要加载的jar或类路径 如果就在当前路径执行可以不指定
classname上面解释了
以上是关于JAVA如何在main()中取得当前jar的名字和路径?的主要内容,如果未能解决你的问题,请参考以下文章