Home

Java, apakah aplikasi berada di dalam file jar ?

Mari berdiskusi bersama kami di Group Facebook Kurung Kurawal

java-logo

Post kali ini memberikan tutorial untuk mengetahui apakah aplikasi dijalankan dari dalam file .jar atau bukan.

Langsung saja ya,

file TheApplication.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * Created by Konglie on 9/12/2016.
 */
public class TheApplication {
    public static void main(String[] args){
        if(isInsideJar()){
            System.out.println("IS inside jar");
        } else {
            System.out.println("NOT inside jar");
        }
    }
 
    public static boolean isInsideJar(){
        try {
            return TheApplication.class
                    .getProtectionDomain().getCodeSource().getLocation()
                    .toURI().getPath().toLowerCase()
                    .endsWith(".jar");
        } catch (Exception e){
            return false;
        }
    }
}

Sederhananya, di dalam method isInsideJar itu mencoba mendapatkan lokasi dari main class yang dijalankan, apabila berada di dalam jar, maka tentu saja nama file nya akan berakhiran dengan “.jar”, itulah yang kita deteksi.

Dan outputnya adalah

Dari IDE (IntelliJ Idea)
not-inside-jar

Dijalankan dengan jar
inside-jar

Demikian, semoga berguna untuk kita semua.