簡體   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