Dateien in einem .war - File durchgehen?

internet

Top Contributor
Hallo,

aktuell funktioniert das lokal auf meinem PC gut, aber wenn ich das .war - File deploye, habe ich hier wohl ein Problem, da die Dateipfade dann nicht mehr gefunden werden....

ich möchte Dateien laden, die in meinem Projekt unter:
src/main/resources/file/upload/EmailDesignTemplates laden.

Dies hat die Struktur:
1723203061748.png

Aktuell mache ich das so:
Java:
    public void uploadEmailDesignTemplate(MandatoryUserInterface employee) {

        ClassLoader classLoader = getClass().getClassLoader();
        File dir = new File(classLoader.getResource("file/upload/EmailDesignTemplates").getFile());

        checkFileSystem(dir, true, null, null, employee);

    }

    private void checkFileSystem(File dir, boolean searchForSpecific, String searchTriggerDir,
            String searchLanguageCode, MandatoryUserInterface employee) {

        LOGGER.info("START checkFileSystem");

        try {

            // Ignore .DS_Store
            File[] files = dir.listFiles(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return !name.equals(".DS_Store");
                }
            });

            if (files != null) {

                for (File file : files) {

                    // Ist ein Verzeichnis, dann Methode rekursiv aufrufen
                    if (file.isDirectory()) {
                        checkFileSystem(file, searchForSpecific, searchTriggerDir, searchLanguageCode, employee);
                    }

                    // Datei
                    else {

                        boolean checkTemplate = new File(dir, "template.html").exists();
                        boolean checkProperties = new File(dir, "config.properties").exists();

                        // Wenn nach einem speziellen Trigger gesucht wird
                        if (searchForSpecific) {
                            File directoryPathLanguage = file.getParentFile();
                            String directoryPath = directoryPathLanguage.getParentFile().getName();
                            if (searchTriggerDir != null)
                                if (directoryPath.toUpperCase().equals(searchTriggerDir.toUpperCase()) == false) {
                                    continue;
                                }
                        }

                        File languageDirectoryPath = file.getParentFile();
                        String languageCode = languageDirectoryPath.getName();

                        File triggerNameParentDirectoryPath = languageDirectoryPath.getParentFile().getParentFile();

                        File triggerNameDirectoryPath = languageDirectoryPath.getParentFile();

                        String directoryTrigger = triggerNameDirectoryPath.getAbsolutePath();

                        String triggerName = triggerNameParentDirectoryPath.getName() + ":"
                                + triggerNameDirectoryPath.getName();

                        // Load property - File

                        if (checkProperties || checkTemplate) {

                            if (searchForSpecific && searchLanguageCode != null) {
                                if (searchLanguageCode != null)
                                    if (languageCode.toUpperCase().equals(searchLanguageCode.toUpperCase()) == false) {
                                        continue;
                                    }
                            }

                            // Template entsprechend erstellen
                            generateEmailDesignTemplateObject(directoryTrigger, triggerName, languageCode, employee);

                            // Aus Schleife gehen
                            break;
                        }

                    }
                }
            }
        } catch (IOException e) {
            LOGGER.error(ExceptionUtils.getFullStackTrace(e));
        }

        LOGGER.info("END checkFileSystem");
    }

Zunächst hole ich mir das Root Verzeichnis mit:
File dir = new File(classLoader.getResource("file/upload/EmailDesignTemplates").getFile());

Anschließend gehe ich jedes Verzeichnis durch und prüfe, ob es eine der Dateien gibt:
  • template.html
  • config.properties

Wie kann ich das aber so programmieren, dass das auch direkt im .war geht?

Files wird wahrscheinlich nicht gehen? Ich brauche sowas wie:
InputStream inputStream = classLoader.getResourceAsStream(resourcePath);

Aber wie kann ich hier prüfen, ob es ein Pfad oder eine Datei ist?
 

KonradN

Super-Moderator
Mitarbeiter
Also Du mischt hier zwei Dinge: a) Zugriffe über den Classloader und b) Zugriffe über das Filesystem. Das mag evtl. funktionieren, wenn der Classloader nur auf Dinge im Filesystem zugreift, aber dem ist ja nicht so. Der Classloader kann auf beliebige Quellen zugreifen wie z.B. eine Archivdatei (WAR oder JAR).

Was Du aber machen kannst, ist Dir die Ressourcen in einem Verzeihnis auflisten lassen:

Und diese Ressourcen kannst Du dann natürlich auch als Ressource laden.

Wäre das ein Weg, der gangbar ist?

Wobei ich mich gerade auch frage: Beim deployen sollte die WAR Datei doch eh ausgepackt werden. Daher könnte der Zugriff über File evtl. sogar gehen. Aber wie gesagt: Du mischt hier Dinge und das ist nicht gut.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
P Problem :Java-Dateien in einem Ordner ablegen Java Basics - Anfänger-Themen 10
S Dateien von einem Ordner in den anderen kopieren Java Basics - Anfänger-Themen 2
H Von einem Applet Dateien an einen Server schicken Java Basics - Anfänger-Themen 5
S Ich kann mit einem Eclipse 3.2 keine Java Dateien Starten Java Basics - Anfänger-Themen 10
M Dateien aus einem Projekt in einem anderen verfügbar machen? Java Basics - Anfänger-Themen 2
M Dateien in einem Ordner, JList Java Basics - Anfänger-Themen 7
T Dateien aus einem Verzeichnis in eine Textdatei schreiben Java Basics - Anfänger-Themen 3
S Alle Dateien in einem Ordner zählen Java Basics - Anfänger-Themen 7
M Namen der Dateien in einem bestimmten Verzeichnis erhalten Java Basics - Anfänger-Themen 4
T Dateien/Ordner in einem Verzeichnis zählen Java Basics - Anfänger-Themen 13
C Text Dateien aus einem Ordner auslesen? Java Basics - Anfänger-Themen 3
R dateien in einem verzeichnis einlesen Java Basics - Anfänger-Themen 3
M Dateien in einem Verzeichnis zählen Java Basics - Anfänger-Themen 21
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
I Dateien aus dem Resource Folder laden Java Basics - Anfänger-Themen 2
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
S Lese- / Schreibfähigkeit von Dateien sicherstellen Java Basics - Anfänger-Themen 1
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
J Java findet plötzlich die Dateien im Projekt nicht mehr. Java Basics - Anfänger-Themen 12
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
MiMa Formate für Dateien und Pfade? Java Basics - Anfänger-Themen 1
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
L Richtige Reihenfolge der Dateien Java Basics - Anfänger-Themen 5
CptK Datentypen Text Dateien einlesen Java Basics - Anfänger-Themen 3
J Logging erzeugt zwei dateien.... Java Basics - Anfänger-Themen 7
A Dateien Verschieben Java Basics - Anfänger-Themen 1
M Mehre Dateien parallel kopieren mit Multithreading Java Basics - Anfänger-Themen 8
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
J Java-Dateien lassen sich nicht editieren Java Basics - Anfänger-Themen 46
E FTP Dateien hochladen Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
Korvinus Vergleichen von 2 csv-Dateien Java Basics - Anfänger-Themen 2
I Texte mit Absätzen in Dateien speichern und auslesen Java Basics - Anfänger-Themen 1
M "substring()" mit Dateien und Pfadangaben Java Basics - Anfänger-Themen 5
Voreck Jar Dateien Standart programm ändern Java Basics - Anfänger-Themen 12
K Dateien aus Source-Package verwenden Java Basics - Anfänger-Themen 10
B Dateien aus dem "resource" - Folder kopieren in Verzeichnis Java Basics - Anfänger-Themen 9
B Kopieren von Dateien mit Adminberechtigungen Java Basics - Anfänger-Themen 14
F Threads ftp4j, viele Dateien upload Java Basics - Anfänger-Themen 5
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
X Dateien direkt hintereinander schreiben, Dateiname Java Basics - Anfänger-Themen 25
G Messwerte in 2 Dateien schreiben Java Basics - Anfänger-Themen 20
C Verarbeitung von sehr großen Dateien Java Basics - Anfänger-Themen 52
F Input/Output Dateien lesen/schreiben Java Basics - Anfänger-Themen 1
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
K Dateien lesen | IndexOutOfBoundsException Java Basics - Anfänger-Themen 2
T Classpath Problem mit dem auslesen von Text-Dateien (Pfad) Java Basics - Anfänger-Themen 3
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
S Resourcen-Dateien im Jar-File verfügbar machen (Intellij 14) Java Basics - Anfänger-Themen 14
J Dateien für anderen User "mitgeben" Java Basics - Anfänger-Themen 1
S Dateien mit Java verschieben Java Basics - Anfänger-Themen 6
A Heap Space Error bei rekursiver Suche in Dateien trotz nur einer Zeile im Speicher Java Basics - Anfänger-Themen 26
E Dateien werden nicht gelöscht Java Basics - Anfänger-Themen 10
S Class Dateien decompilieren Java Basics - Anfänger-Themen 4
T Fehler beim Schreiben in Dateien! Java Basics - Anfänger-Themen 4
Bluedaishi Dateien Lassen sich unter windows nicht löschen Java Basics - Anfänger-Themen 8
Z Mehrere XML-Dateien zu einer zusammenfügen Java Basics - Anfänger-Themen 3
K JAR Dateien einbinden - funkt nicht wie es sollte... Java Basics - Anfänger-Themen 22
M Threads nio Dateien kopieren, Threads und Gui Java Basics - Anfänger-Themen 0
J *.sql Dateien in Java Java Basics - Anfänger-Themen 1
P Dateien im Ordner auflisten. Java Basics - Anfänger-Themen 3
P Compiler-Fehler .java Dateien kompilieren und .class Dateien zur .jar Java Basics - Anfänger-Themen 4
S Daten aus anderen Dateien in neue Datei einlesen Java Basics - Anfänger-Themen 3
M Input/Output Arbeiten mit extrem vielen Dateien Java Basics - Anfänger-Themen 8
R File chooser Dateien in frame anzeigen lassen Java Basics - Anfänger-Themen 5
N tar-Dateien Java Basics - Anfänger-Themen 6
B Methoden Dateien konvertieren Java Basics - Anfänger-Themen 3
L Dateien speichern/auslesen Java Basics - Anfänger-Themen 5
M Input/Output Probleme beim Parsen von CSV und TXT Dateien Java Basics - Anfänger-Themen 7
P Wiedereinstieg und kann keine Dateien mehr öffnen... Java Basics - Anfänger-Themen 13
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
U Best Practice Nicht-permanente Links auf Dateien Java Basics - Anfänger-Themen 5
B In welchem (Default) Pfad erstellt Java Dateien? Java Basics - Anfänger-Themen 4
I Methoden zum lesen und speichern von Dateien Java Basics - Anfänger-Themen 2
B .ut dateien ignorieren und fortsetzen Java Basics - Anfänger-Themen 9
R Ressourcen in JAR-Dateien Java Basics - Anfänger-Themen 2
J jar Dateien global erreichbar machen Java Basics - Anfänger-Themen 3
L Zusammenführen mehrerer .txt Dateien Java Basics - Anfänger-Themen 4
M Dateien erstellen/ bearbeiten/ lesen Java Basics - Anfänger-Themen 9
S Dateien in RAM kopieren und ausführen? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen


Oben