Моя текущая задача - обеспечить выполнение данного Java-проекта на Java (JRE) от версии 6 до версии 9. Есть ли способы сделать это с помощью Maven?
Я предполагаю, что настройка maven-compilter-plugin является частью этого. Должно быть
<source>1.6</source>
чтобы гарантировать, что не используются функции более поздних версий? А что насчет <target>
?
И с какой версией Java должен работать Maven? Java 9?
Также интересно выглядит animal-sniffer-maven-plugin. , но не знаю, как он здесь подходит. Это также сложно, потому что Java 6 на самом деле не является минимальным API, поскольку AFAIK у него есть некоторые классы, которых нет в Java 9 (например, некоторые из пакетов sun и com.sun).
Что еще? Кто-нибудь это уже делал?
com.sun
не являются частью API и никогда не должны использоваться приложениями. - person Kevin Krumwiede   schedule 05.05.2017com.sun
, тогда он не будет работать в Java 9 с JPMS. Сначала вам нужно будет реорганизовать свое приложение, чтобы оно подходило для Java 9. - person Uwe Plonus   schedule 05.05.2017com.sun
пакетов все еще существуют, и их можно сделать доступными с помощью флагов командной строки--add-exports
- см.java -X
илиjavac -X
. Взгляните на этот пост, чтобы увидеть как использовать Maven<args>
с этими флагами. - person Nicolai Parlog   schedule 06.05.2017