Проверить версию Java / API-совместимость в maven без установки старых JDK? - PullRequest
0 голосов
/ 03 марта 2019

Есть ли способ убедиться, что модули maven совместимы с API со старыми выпусками Java без установки и использования определенного выпуска JDK?То есть.какой-нибудь плагин?

Пример: java.lang.String.isBlank () доступен только из JDK 11, поэтому плагин должен проверить, использовался ли этот метод, если целевая версия <= 10. </p>

В качестве альтернативы, я мог бы написать несколько исполнений плагинов, чтобы загрузить / распаковать jdk, а затем построить текущий проект для этого конкретного jdk.Однако это было бы ужасно.

1 Ответ

0 голосов
/ 06 марта 2019

Рекомендация Animal Sniffer прекрасно работает:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>animal-sniffer-maven-plugin</artifactId>
            <version>1.17</version>
            <executions>
                <execution>
                    <id>verify-java-api</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <phase>verify</phase>
                </execution>
            </executions>
            <configuration>
                <signature>
                    <groupId>org.codehaus.mojo.signature</groupId>
                    <artifactId>java18</artifactId>
                    <version>1.0</version>
                </signature>
            </configuration>
        </plugin>

Обновление: эта конфигурация Animal Sniffer не нашла эту проблему:

symbol:   variable RELEASE_10
location: class javax.lang.model.SourceVersion
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...