Извлечение файла из папки WebApp в классе не сервлета (Java / Tomcat) - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь получить несколько XSD-файлов из веб-приложения, созданного с помощью maven. Структура папок выглядит примерно так:

DAC (WebApp)
    WEB-INF/
    META-INF/
    xsdFiles/
    xmlFiles/

Теперь я пытаюсь извлечь файл из папки xsdFiles. Единственное, это не класс сервлетов. Но почему-то ничего не работает. Я пытался getResource(), getResourceAsStream() или просто пытался получить файлы, используя Paths.get("/xsdFiles/theXSD.xsd").

. Я бы предположил, что элемент, помещенный в папку ресурсов, будет доступен в classpath, не так ли? Это мои записи maven:

<resources>         
    <resource>
        <directory>./src/main/resources/xmlFiles/</directory>
        <includes>
            <include>**/*</include>
        </includes>
        <filtering>true</filtering>
        <targetPath>${project.build.directory}/xmlFiles/</targetPath>
    </resource>
    <resource>
        <directory>./src/main/resources/xsdFiles/</directory>
        <includes>
            <include>**/*</include>
        </includes>
        <filtering>true</filtering>
        <targetPath>${project.build.directory}/xsdFiles/</targetPath>
    </resource>
</resources>

И мой плагин WAR:

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <inherited>false</inherited>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <addDefaultEntries>true</addDefaultEntries>
                <addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                <classpathPrefix>WEB-INF/lib/</classpathPrefix>
            </manifest>
        </archive>
        <attachClasses>true</attachClasses>
        <classesClassifier>shared</classesClassifier>
        <failOnMissingWebXml>true</failOnMissingWebXml>
        <includeEmptyDirectories>true</includeEmptyDirectories>
        <outputDirectory>${project.basedir}/lib</outputDirectory>
        <webResources>
            <webResource>
                <directory>${project.build.directory}/xmlFiiles/</directory>
                <include>**/*</include>
                <targetPath>xmlFiiles/</targetPath>
            </webResource>
            <webResource>
                <directory>${project.build.directory}/xsdFiles/</directory>
                <include>**/*</include>
                <targetPath>xsdFiles/</targetPath>
            </webResource>
        </webResources>
    </configuration>
</plugin>

Любая помощь по этому вопросу будет принята с благодарностью. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...