Я думал о зависимостях в Maven. Maven загружает их, но неизвестно, для какой целевой версии JVM они скомпилированы и с каким компилятором. Это вызывает два вопроса:
- Приведет ли перекомпиляция зависимостей к более быстрым библиотекам зависимостей?
Я пытался найти это, но не нашел достаточного ответа. Я обнаружил, что для 1.6 существует Проверка разделенного байт-кода , которая выполняется при компиляции с целевой версией 1.6.
Также возникает вопрос Являются ли улучшения производительности Java 6 в JDK, JVM или обоих? , где упоминается, что более новые версии javac могут генерировать более оптимизированный код.
- Можно ли с помощью Maven выполнить перекомпиляцию зависимых библиотек? Можно ли настроить Maven для загрузки исходников, поместить туда информацию о цели 1.6 и выполнить чистую установку mvn ?
Мне известны подключаемый модуль Maven Dependency и цель dependency: sources . Это может быть использовано для загрузки исходного кода.
Также существует Maven Replacer Plugin , позволяющий заменять текст в файлах. Как указано в Issue 58 , для него была реализована поддержка XPath.
Можно ли было бы реализовать это с помощью этих плагинов для зависимости, а также для его зависимостей, чтобы выполнить это? Я не уверен, как это сделать с зависимостями - возможно, с плагином Maven Replacer, который вводит конфигурацию в распакованные зависимости pom.xml?
Или есть более простой способ настроить целевую версию Java с профилем сборки в пользовательском settings.xml , который будет иметь приоритет над настройками проекта и, следовательно, избежать модификации pom.xml ?
задан Community 23 May 2017 в 10:34
поделиться