Фильтровать ресурс через Maven, сгенерированный Java-процессором аннотаций - PullRequest
0 голосов
/ 03 мая 2018

У меня есть процессор аннотаций, который генерирует текстовый файл для включения в скомпилированный jar. (Процессор аннотаций находится в том же проекте, который компилируется).

В сгенерированном файле есть строка ${project.version}, которую я хочу заменить, как при обычной фильтрации ресурсов maven.

Как мне этого добиться?

Мой текущий раздел сборки pom.xml -

<build>
    <finalName>prodity-commons-spigot</finalName>
    <sourceDirectory>src/main/java</sourceDirectory>

    <resources>
        <resource>
            <directory>${project.basedir}/src/main/resources/META-INF</directory>
            <targetPath>./META-INF</targetPath>
            <filtering>false</filtering>
            <includes>
                <include>services/javax.annotation.processing.Processor</include>
            </includes>
        </resource>
    </resources>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <executions>
                <execution>
                    <id>default-compile</id>
                    <configuration>
                        <compilerArgument>-proc:none</compilerArgument>
                    </configuration>
                </execution>
                <execution>
                    <id>compile-project</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <phase>package</phase>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

1 Ответ

0 голосов
/ 03 мая 2018

фильтрация должно быть истинным:

<resources>
        <resource>
            <directory>${project.basedir}/src/main/resources/META-INF</directory>
            <targetPath>./META-INF</targetPath>
            <filtering>true</filtering>
            <includes>
                <include>services/javax.annotation.processing.Processor</include>
            </includes>
        </resource>
    </resources>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...