繁体   English   中英

如何获取Jar文件路径

[英]How to get Jar File Path

我有一个Verification.jar文件,它检查excel文件中的一些条件。 我想要在Verification.jar存在的同一级别创建一个名为Log 的文件夹

在Advence感谢.........

编辑

我有文件夹如下

“验证” : - Build,dist,lib,nbproject,src,Test,build.xml

“Build”包含Classes文件夹

“dist”包含Verification.jar和Lib文件夹

“lib”包含库文件

我想找到Verification.jar的路径并创建名为Output的文件夹。

如果我更改了驱动器,它应该在Verification.jar所在的同一级别创建文件夹。

 String path= getClass().getResource("").getPath();

Output:--getPath:/C:/Java/jdk1.6/bin/Verification/lib/

使用URL Class.getResource(String name)方法。

package.ClassName.class.getClassLoader().getResource("package.ClassName");

编辑:

看一下很棒的SO线程 - 如何获取正在运行的jar文件的路径? 由@Hovercraft Full Of Eels建议

正确的形式是:

String directory = System.getProperty("user.dir");

如果您正在运行.jar文件,则返回当前工作目录,这是.jar所在的目录...

请注意,IDE不运行jar文件,运行main方法所在的.class文件,因此在IDE中运行时,此方法返回projects文件夹

PD:对不起,如果我犯了语法错误,英语不是我的母语。

不是最好的解决方案,但我使用这个功能。 jar文件的名称必须与项目相同。 适用于Windows和Linux。 如果有人可以帮助我证明它,我会很诚实。

public String getJarCurrentJar() {
            String[] userDir = System.getProperty("user.dir").split("\\"+System.getProperty("file.separator"));
            String appName = "";
            for (String temp : userDir) {
                appName = temp; //Get the application name/jar
            }
            return System.getProperty("user.dir") + System.getProperty("file.separator") + "dist" + System.getProperty("file.separator") + appName+".jar";
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM