некоторые ресурсы не включены в jar-файл от maven - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь включить несколько файлов ресурсов в JAR, используя maven. С помощью некоторых ответов здесь мне удалось упаковать НЕКОТОРЫЕ из моих файлов ресурсов в JAR, но не XML. Я проверил на вещи типа <exclude>**/*.xml</exclude> в моем pom и super pom, но не нашел ничего.

Кто-нибудь знает, что может вызвать проблему?

Кстати, сбивает с толку то, что мои XML файлы действительно существуют в каталоге target / classes и только в *-sources.jar не в файле *.jar - надеюсь, это поможет сузить проблему.

Вот моя файловая структура:

└── src
    └── main 
        ├── java
        │   └── com.stackoverflow.UserMapper.java
        └── resources
            ├── UserMapper.xml
            └── jdbc.properties

и мой pom.xml

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <!-- tried this, didn't work (still only the .properties file got packaged) -->
            <!--<includes>-->
                <!--<include>**/*.properties</include>-->
                <!--<include>**/*.xml</include>-->
            <!--</includes>-->
        </resource>
    </resources>
</build>

Вот что я получил в файле *-sources.jar & *.jar:

# *-sources.jar

├── com.stackoverflow
│   └── UserMapper.class
├── UserMapper.xml
├── jdbc.properties 
└── META-INF

# *.jar

├── com.stackoverflow
│   └── UserMapper.class
├── jdbc.properties 
└── META-INF

Вот некоторые конфигурации плагинов, которые я пробовал, ни одна из которых, конечно, не работала:

(1 ) maven-jar-plugin

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>

    <configuration>
        <includes>
            <include>**/*.class</include>
            <include>**/*.properties</include>
            <include>**/*.xml</include>
        </includes>
    </configuration>
</plugin>

(2) maven-compiler-plugin

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>

    <configuration>
        <includes>
            <!-- which went VERY wrong, got something like 'we cannot compile xml file!' -->
            <include>**/*.xml</include>
        </includes>

        <!-- tried this, got an error of 'Elment resources is not allowed here' -->
        <!--<resources>-->
            <!--<resource>-->
                <!--<directory>src/main/resources</directory>-->
            <!--</resource>-->
        <!--</resources>-->

    </configuration>
</plugin>

(3) maven-resources-plugin

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
        <execution>
            <id>copy-xml</id>
            <goals>
                <goal>resources</goal>
            </goals>
            <configuration>
                <resources>
                    <resource>
                        <directory>src/main/resources</directory>
                    </resource>
                </resources>
            </configuration>
        </execution>
    </executions>
</plugin>

А моя версия maven 3.0.5

Я очень ценю любые идеи!

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