2011-02-03 20 views
11

Długo szukałem odpowiedzi na to pytanie i nie mogę znaleźć odpowiedzi. Mogę uruchomić ścieżkę programu, ale nie mogę uzyskać nazwy! Zasadniczo tworzę aplikację, która może być .exe lub .jar (to skomplikowane) i muszę wiedzieć, który! Więc czy ktoś wie, jak mogę uzyskać nazwę pliku/rozszerzenie działającego programu (w Javie)?Uzyskaj nazwę programu Java

Dzięki z góry

Andy

+0

Pytanie jest niejasne. Proces A jest uruchamiany za pomocą programu uruchamiającego (.exe lub .jar). Czy chcesz poznać szczegóły programu uruchamiającego w procesie A lub w innym procesie B. Co to jest bazowanie na java? proces A lub proces B? –

Odpowiedz

5

Make nazwa programu "nieruchomości, która jest przekazywana do programu za pomocą przełącznika wiersza polecenia '-d', tak jak

java -Dprogram.name=myApp.jar -jar myApp.jar 

Czytaj w kodzie takim, jak

if ("myApp.jar".equals(System.getProperty("program.name"))) { 
    // perform appropriate actions... 
} 
+0

dziękuję, komentowałem powyżej również odnośnie twojej odpowiedzi! – Andy

4

Rzeczywistym programem z plikiem JAR będzie java.exe.

Proponuję podejść do problemu z zupełnie innej perspektywy i mieć opakowanie exe ustawić właściwość system, który program kwerend. Lub możesz go mieć, a manifest JAR określa różne główne klasy.

+0

Cześć, teraz widzę implikację - dziękuję za odpowiedź. Spróbuję tego, co zasugerowałeś, ale jakoś znajdę pracę! – Andy