Перекомпиляция зависимостей с Maven - возможно? Есть ли повышение производительности?

Я думал о зависимостях в 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 ?

6
задан Community 23 May 2017 в 10:34
поделиться