externe Verweise auf Drittanbieter-Bibliothek (Jar) in ein anderes Jar-ohne wickeln der zweiten und in der ersten
Schreibe ich ein kleines Codefragment, das darauf abzielt, mit AppleScriptEngine, um die Kommunikation mit Knurren. Ich würde erhalten eine jar-Datei namens MyApplication.jar mit allen meinen Klassen, aber ich brauche zu finden AppleScriptEngine.jar (von Apple entwickelt und befindet sich in /System/Library/Java/Extension)... Hier das problem: AppleScriptEngine.jar in jeder Os x-distribution, so würde ich finden, wie es im inneren MyApplication.jar MANIFEST.MF ohne Zugabe AppleScriptEngine.jar innerhalb meiner .jar-Datei. Dies im wesentlichen aus zwei Gründen: Erstens AppleScriptEngine ist eine proprietäre Datei von Apple, zweiten ich hoffe es gibt einen Weg zu finden, eine vorhandene Datei in der Datei-system. Ich lese viel über die richtige Zusammensetzung einer jar-Datei und in jedem Beispiel, das ich gefunden, es ist die externe jar-Datei verpackt, die im inneren der coder jar-Datei.
Ich tryed, um ändern Sie die class-path-Attribut in meinem MANIFEST um direkt zur AppleScriptEngine.jar in dieser Art und Weise:
Manifest-Version: 1.0
Rsrc-Class-Path: ./
Klasse-Pfad: /System/Library/Java/Extensions/AppleScriptEngine.jar
Rsrc-Main-Klasse: Kern.MyApplicationLauncher
Main-Class: org.eclipse.jdt.intern.jarinjarloader.JarRsrcLoader
Rsrc-Class-Path sollte die lokale Referenz in meinem Glas, aber geben Sie den absoluten Pfad zu den Class-Pfad, den ich sholud in der Lage zu Lesen jede Datei in meinem system. Vielleicht gibt es etwas falsch in der Art, wie ich einen Pfad angeben, oder kann ich Sie vielleicht finden Sie nur die Dateien, die geschachtelt sind, in meinem Glas. Innerhalb von eclipse offensichtlich alle funktioniert, weil es Verweise auf den JRE System Library, enthält wich AppleScriptEngine.jar zu. So, vielleicht gibt es einen Weg, um beziehen sich direkt auf die JRE System Library in meinem MANIFEST-Datei. Ich war nicht in der Lage, die Antwort zu finden nach vielen Stunden surfen.Hat jemand eine Idee zu überwinden, die Sackgasse?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich finde ich die Lösung nach vielen versuchen und Irrtümern. Mein Fehler war, versuchen, fügen Sie den absoluten Pfad
AppleScriptEngine.jar
als Attribut zuClass-Path
; statt die richtige Lösung ist, als Attribut desClass-Path
nur den absoluten Pfad zu dem Ordner, enthält die Jar-Datei, die wir sind interessiert an (der externen) und dann fügen Sie den Namen der Jar-Datei als WertRsrc-Class-Path
. Ich glaube, das ist der richtige Weg, um finden Sie externe Bibliotheken in jedem Fall, in dem die Datei liegt bereits in der Datei system. Hier meineMANIFEST.MF
:BEACHTEN Sie, dass nach
Class-Path:
es ist ein Leerzeichen vor dem Punkt und nach dem Punkt. Dies ist, weil der leere Raum ist der Weg in dieMANIFEST
- Datei für die Trennung der verschiedenen Argumente. Gibt es nicht eine freundliche Dokumentation über das argument