Name des ausführenden Jars

Moltar

Mitglied
Hallo,

ich habe eine Client-Server-Anwendung. Um ein bisschen mehr Sicherheit gegen manipulierte Clients zu haben, wollte ich von der Client-Datei bei der Anmeldung am Server den MessageDigest mit übertragen und diesen dann vom Server gegen einen Kontrollwert prüfen.
Das Erstellen des MessageDigest ist kein Problem, wenn ich den Dateinamen weiß.
Da der Benutzer die Datei aber umbenennen kann (und auch darf) muss ich zur Laufzeit den Namen der aktuellen Datei abfragen.

Wie kann ich sowas machen?

Ich habe im Forum und im Netz schon einiges darüber gefunden, wie man Dateien aus dem Jar ansprechen kann, aber wie komme ich an das Jar selbst ran?

Grüße
Moltar
 
Hallo,

Klasse : GetNameOfCurrentJarExample darf nur in dem startenden Jar drinnen sein...
Java:
/**
 * 
 */
package de.tutorials;

/**
 * @author Tom
 * 
 */
public class GetNameOfCurrentJarExample {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception{
        String jarFileLocation = GetNameOfCurrentJarExample.class
                .getProtectionDomain().getCodeSource().getLocation().toURI()
                .toString();
        System.out.println("Executing jar: "
                + jarFileLocation
                        .substring(jarFileLocation.lastIndexOf('/') + 1));
    }

}

Ausgabe:
Code:
C:\>java -jar bubu.jar
Executing jar: bubu.jar

C:\>ren bubu.jar bubu1.jar

C:\>java -jar bubu1.jar
Executing jar: bubu1.jar

Gruß Tom
 
Zurück