-1
是否有任何方法可以知道正在運行的跨平臺jar的文件名?獲取正在運行的jar文件的文件名
我可以得到路徑,我可以獲取目錄中所有罐子的名稱,或者我可以將命令傳遞給操作系統上的命令提示符/ shell以嘗試找到它,有沒有更好的方法這樣做?
是否有任何方法可以知道正在運行的跨平臺jar的文件名?獲取正在運行的jar文件的文件名
我可以得到路徑,我可以獲取目錄中所有罐子的名稱,或者我可以將命令傳遞給操作系統上的命令提示符/ shell以嘗試找到它,有沒有更好的方法這樣做?
到這裏看看:http://mindprod.com/jgloss/wherejars.html
public class Where
{
/**
* main
* @param args name of fully qualified class to find, using dots, but no dot class.
* e.g. java.exe Where javax.mail.internet.MimeMessage
*/
public static void main (String[] args)
{
try
{
String qualifiedClassName = args[0];
Class qc = Class.forName(qualifiedClassName);
CodeSource source = qc.getProtectionDomain().getCodeSource();
if (source != null)
{
URL location = source.getLocation();
System.out.println (qualifiedClassName + " : " + location);
}
else
{
System.out.println (qualifiedClassName + " : " + "unknown source, likely rt.jar");
}
}
catch (Exception e)
{
System.err.println("Unable to locate class on command line.");
e.printStackTrace();
}
}
}
這是您的java程序?爲什麼不只是添加一個方法來吐出名字? – Max
因爲我需要能夠看到它是否已經在文件系統上運行,所以能夠執行thisFile.alreadyRunning()比僅獲取文件的名稱更有意義。 –
你想達到什麼目的?看起來如果你寫代碼和製作罐子,你應該知道你叫他們什麼。 –