Base::Config-Fehler bei Desktop-Klasse

RolandK

Mitglied
Hallo, ich habe ein Problem, welches mit dem von Jens1219 vom 11.11.11 (JAR-File & PDF) verwandt ist.

Ich benutze folgenden Code, um per Button eine PDF-Datei zu öffnen:

Java:
    final String PDF_FILE = "Help.pdf";
    Desktop desktop;
    File file;
	
    if (!Desktop.isDesktopSupported()) {
        showPDFErrorDialog();
        return;
    }

    desktop = Desktop.getDesktop();
    if (!desktop.isSupported( Desktop.Action.OPEN )) {
        showPDFErrorDialog();
        return;
    }

    file = new File( PDF_FILE );
    if (!file.exists()) {
        Hilfsklasse.showMissingResourceDialog( PDF_FILE );
        // Programmende;
    }
 
    try {
        desktop.open( file );
    } catch (IOException e) {
        Hilfsklasse.showMissingResourceDialog( PDF_FILE );
        // Programmende;
    }


Das funktioniert sowohl beim Start des JAR als auch in IntelliJ IDEA 10.5.2, wenn das PDF-File außerhalb des JAR liegt. Jedoch zeigen sowohl IDEA als auch die Java-Runtime (wenn das JAR nicht per Doppelklick sondern per Konsole gestartet wurde) folgende Fehlermeldung an:


fatal: Needed a single revision

******** ERROR ********************************************************
This program is improperly using Base::Config by not initializing config
with the Load functions
See the documentation in Base/Dev/index.html for usage instructions.
At the minimum, LoadCommandLine should be use with a dummy command line
consisting of the program name.
************************************************************************


Ich benutze JDK 1.6.0_29 und den javac-Compiler. Weiß jemand was diese Fehlermeldung bedeutet?
Was muss man tun, damit die verschwindet?
Das ist übrigens mein erstes Posting, falls was nicht stimmt, bitte ich das zu entschuldigen.
 
Hallo,

soll ich dir die Fehlermeldung übersetzen? - Hier steht, was man da machen soll.

See the documentation in Base/Dev/index.html for usage instructions.

Siehe Dokumentation im Verzeichnis Base/Dev/index.html für Informationen zur Nutzung.

Du brauchst mindestens ein Dummy Load.

Gruß,

Martin
 
Danke für die Antwort, aber übersetzten war nicht nötig.

Ich weiß leider nicht, worauf sich der Pfad "Base/Dev/index.html" bezieht. Ich kann ihn weder im lokalen Dateisystem (z.B. im Java-Ordner) noch bei Google finden. Hast du einen funktionierenden Link oder kannst du mir das HTML-Dokument mailen?
(rolandkuhn1@gmx.de)

Was ein "Dummy Load" ist, ist mir unbekannt. Das Programm funktioniert ja, es bleibt halt nur diese Meldung.
 
Keine Ahnug, was das für eine BIB ist, die du da benutzt.

Aber in dem Download ist diese Doku vorhanden.
 
Ich bin wohl noch nicht lange genug hier, um den Jargon zu verstehen...

Welchen Download meinst du mit BIB?

Ich benutze nur
- JDK 1.6.0.29
- JDK 1.7.0.1
- IntelliJ IDEA Community Edition 10.5.2
- ANT (bundled mit IDEA)
- GIT
 
Das ganze bezieht sich wahrscheinlich auf die nativen Bibliotheken (BIB) die Desktop kapselt. Und es ist doch irgenwie logisch, dass kein Programm eine Datei in einem jar-Archiv öffnen kann, und dass diese Datei gleichzeitig noch in der JVM "geöffnet" ist erschwert das ganze zusätzlich. Hast du schonmal versucht eine Datei in einem ZIP-Archiv zu öffnen? Geht nicht direkt, sondern Windows entpackt sie "heimlich" und die Desktop Bibliothek macht das halt nicht, sondern übergibt einfach die URL an das native Programm weiter, und das beschwert sich dann...
 
Wie am Anfang meines Beitrags geschrieben, kann mein Programm das PDF schon öffnen, wenn es AUSSERHALB des JAR liegt (hab ich aus dem Beitrag von Jens1219 gelernt). Soweit klappt das.

Das Problem ist nur die unschöne Meldung, die die JRE dabei ausgibt. Und diese verweist auf eine Dokumentation "Base/Dev/index.html" die ich auf meinem Rechner nirgends finden kann und bei Google sind ausser diesem Posting nur ein paar obskure russische Seiten zu finden, die mir nicht weiterhelfen.

Marcinek sagt, in einem Download (welchem auch immer) sei diese Dokumentation enthalten. Ich hätte diese Doku gerne.

Wie gesagt: Programm läuft und kann das PDF im Adobe Reader öffnen. Es bleibt nur die Fehlermeldung:

******** ERROR ********************************************************
This program is improperly using Base::Config by not initializing config
with the Load functions
See the documentation in Base/Dev/index.html for usage instructions.
At the minimum, LoadCommandLine should be use with a dummy command line
consisting of the program name.
************************************************************************
 
Wozu? Ich dachte meine Antwort war deutlich. Außerdem wird dir diese Doku und die dazugehörige Bibliothek nicht helfen, außer du bist ein erstklassiger C Programmierer, hast schon duzende Anwendung mit JNI geschrieben und kannst so aus dem Stand einen Ersatz für den PDF Reader programieren. (Entschuldigung für den Sarkasmus, aber es musste sein)

Dafür gibts einen ganz einfachen Workaround: Entpack das PDF mit Class.getReseourceAsStream() und schreibs in ein File, das kannst du dann öffnen (und bei Bedarf auch wieder löschen).
 

Zurück
Oben