Heim Java javaLernprogramm Wie greife ich in dynamischen Umgebungen auf die Manifestdatei einer JAR zu?

Wie greife ich in dynamischen Umgebungen auf die Manifestdatei einer JAR zu?

Nov 13, 2024 pm 01:47 PM

How to Access the Manifest File of a JAR in Dynamic Environments?

Zugriff auf die Manifestdatei einer JAR in dynamischen Umgebungen

Das Abrufen der Manifestdatei einer JAR wird zu einer Herausforderung, wenn die Anwendung aus dynamischen Umgebungen gestartet wird wie Applets oder Webstart. Der Standardansatz mit getClass().getClassLoader().getResources(...) gibt das Manifest aus der ersten in die Laufzeit geladenen JAR zurück, nicht aus der JAR, die die Zielklasse hostet.

Um dies zu umgehen, gibt es zwei Methoden kann erkundet werden:

1. Durch Ressourcen-URLs iterieren:

Durchlaufen Sie die von getResources() zurückgegebenen URLs und lesen Sie jede als Manifest, bis die gewünschte gefunden wird.

Enumeration<URL> resources = getClass().getClassLoader()
    .getResources("META-INF/MANIFEST.MF");
while (resources.hasMoreElements()) {
    try {
        Manifest manifest = new Manifest(resources.nextElement().openStream());
        // Check if it's the target manifest and perform necessary actions.
    } catch (IOException E) {
        // Handle exception.
    }
}
Nach dem Login kopieren

2. Verwenden Sie die findResource-Methode:

Wenn der Klassenlader eine Instanz von java.net.URLClassLoader ist (z. B. AppletClassLoader), wandeln Sie ihn um und rufen Sie findResource() direkt auf, was bekanntermaßen das Manifest für Applets zurückgibt .

URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
try {
    URL url = cl.findResource("META-INF/MANIFEST.MF");
    Manifest manifest = new Manifest(url.openStream());
    // Use the manifest.
} catch (IOException E) {
    // Handle exception.
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie greife ich in dynamischen Umgebungen auf die Manifestdatei einer JAR zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)