wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar?

Diskutiere wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar? im XML und Co. Forum; Hi, ich habe ein Java Projekt erstellt was XML Dateinen einliest (beim xml lesen wird eine *.dtd Datei benötigt) und diese in Objekte speichert...

  1. ProgrammierFee
    ProgrammierFee Neues Mitglied
    Hi,
    ich habe ein Java Projekt erstellt was XML Dateinen einliest (beim xml lesen wird eine *.dtd Datei benötigt) und diese in Objekte speichert und mir daraus dann ein enues XML erstellt.

    Am Anfang habe ich immer die Exception bekommen:
    Code (Java):
    java.io.FileNotFoundException: C:\Users\*\Documents\Export_MIO\Tool\mt-project_with_ip.dtd (Das System kann die angegebene Datei nicht finden)
            at java.io.FileInputStream.open(Native Method)
            at java.io.FileInputStream.<init>(Unknown Source)
            at java.io.FileInputStream.<init>(Unknown Source)
            at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
            at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
            at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
            at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
            at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
            at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
            at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
            at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
            at bt.mio.ReadXml.<init>(ReadXml.java:41)
            at bt.mio.ModifyXMLFile.readXmlAndAddIoUnit(ModifyXMLFile.java:85)
            at bt.mio.ModifyXMLFile.modifyAndWriteXml(ModifyXMLFile.java:55)
            at bt.mio.gui.Window.startComparison(Window.java:113)
            at bt.mio.gui.Window.createWindow(Window.java:88)
            at bt.mio.Start.main(Start.java:16)
    Dieses Problem konnte ich lösen, indem ich die Datei "mt-project_with_ip.dtd" einfach dem Java Projekt hinzugefügt habe.


    Jedoch wollte ich jetzt mein Programm (was in Eclipse ohne Probleme funktioniert) in eine *jar oder ausführbare *jar exportieren, jedoch exportiert er mir nicht diese "mt-project_with_ip.dtd" Datei und ich kriege wieder diese Exception.

    Wie kann ich diese "mt-project_with_ip.dtd" Datei mit exportieren? Ebenfalls habe ich auch eine Dokumentation geschrieben, die ich auch gern aus Eclipse exportieren würde, jedoch auch das klappt nicht.

    ICh habe google schon gefragt, aber keine Lösung gefunden.

    Versucht habe ich:
    • im Java Projekt builpath konfigurieren
    • Plugin Projekt erstellt und Code rein kopiert, build.properties konfiguriert
    • getClass().getResourceAsStream("mt-project_with_ip.dtd");

    Nichts hat funktioniert, ich kriege immer wieder diese Exception.
    Ich benötige dringend Hilfe!

    KAnn ich überhaupt Datein, die nichts mit dem Code zu tun haben, in einem Java- Projekt exportieren? Oder benötige ich immer ein Plugin-Projekt, damit ich eine MAIFEST besitze?
    Was ist genau der Unterscheid der beiden, bzw. wann nutzt man welches Projekt?
     
  2. Vielleicht hilft dir dieser Java-Kurs hier weiter --> (hier klicken)
  3. Sasuke
    Sasuke Mitglied
    Hey,

    du kannst die meisten Dinge rund um Manifeste und Resourcen umgehen, indem du Projektmanagement software wie zum Beispiel Maven benutzt. Soviel ich weiß bietet Eclipse eine Integration für Maven, wenn auch nur eingeschränkt und teils umständlich.
    Maven "Exportiert" deine resources mit und sie befinden sich dann in der jar. Eine "Executable" Version kannst du dann erzeugen indem du die Hauptklasse deines Projektes mittels maven-jar-plugin in deine MANIFEST schreiben lässt.

    Sobald die Datei in deiner jar ist dürftest du sie mittels
    Code (Text):
    getClass().getResourceAsStream("mt-project_with_ip.dtd");
    laden können.

    Um deine Kernfrage zu beantworten:

    Ja du kannst sie exportieren, jedoch nicht so einfach wie du das anscheinend gerne hättest ;)

    Mit freundlichen Grüßen
    Sasuke
     
  4. ProgrammierFee
    ProgrammierFee Neues Mitglied
    Also ich habe das ganze jetzt anders gelöst, weil ich nicht für mein Programm ein extra MAven Projekt benötige, bzw. das jetzt zu viel arbeit gewesen wäre.
    ICh habe einfach das ganze als zip exportiert und dann darin die ausführende *.jar Datei exportiert und jetzt funktioniert es.:):D
     
Die Seite wird geladen...

wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar? - Ähnliche Themen

kriege einfach keine HTTP Connection hin
kriege einfach keine HTTP Connection hin im Forum Mobile Geräte
wie kann ich am besten die kleinste 2 elemente von einer Liste kriegen
wie kann ich am besten die kleinste 2 elemente von einer Liste kriegen im Forum Java Basics - Anfänger-Themen
Anonymer Logger - kann man irgendwie eine komplexere Config hinkriegen?
Anonymer Logger - kann man irgendwie eine komplexere Config hinkriegen? im Forum Allgemeine Java-Themen
Warum kriege ich keine 6 zufallige Zahlen raus ?
Warum kriege ich keine 6 zufallige Zahlen raus ? im Forum Java Basics - Anfänger-Themen
aus einem File ein array kriegen
aus einem File ein array kriegen im Forum Allgemeine Java-Themen
Thema: wie kriege ich eine *.dtd Datei mit in die ausführbare *.jar?