2012-12-10 5 views
-1

크로스 플랫폼 인 실행중인 Jar의 파일 이름을 알 수있는 방법이 있습니까?실행중인 jar 파일의 파일 이름 얻기

경로를 얻을 수 있습니다. 디렉토리에있는 모든 항아리의 이름을 얻을 수 있습니다. 또는 명령 프롬프트/쉘에서 명령을 전달하여 OS에서 찾을 수 있습니다. 더 나은 방법이 있습니다. 이러는거야?

+0

이 당신의 자바 프로그램인가? 왜 그냥 이름을 뱉어내는 방법을 추가하지 않습니까? – Max

+0

파일 시스템에서 이미 실행 중인지 확인할 수 있어야하므로 thisFile.alreadyRunning()을 수행 할 수 있다는 것은 파일 이름을 가져 오는 것보다 더 의미가 있습니다. –

+0

달성하려는 목표는 무엇입니까? 당신이 코드를 작성하고 항아리를 만들었다면 당신이 그걸 부른 것을 알아야합니다. –

답변

1

여기를보세요 : 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(); 
     } 
     } 
    } 
관련 문제