Estaba pensando en las dependencias en Maven. Maven los descarga, pero se desconoce para qué versión de destino de JVM se compilan y con qué compilador. Esto genera dos preguntas:Recompilación de dependencias con Maven - posible? Cualquier aumento de rendimiento?
- ¿La recompilación de la dependencia generaría bibliotecas de dependencias más rápidas? He intentado buscar esto, pero no he encontrado suficiente respuesta. Descubrí que para 1.6 hay Split bytecode verification, eso se hace al compilar con el objetivo 1.6.
También hay una pregunta Are Java 6's performance improvements in the JDK, JVM, or both? donde se menciona que las versiones más nuevas de javac podrían generar un código más optimizado. - ¿Es posible con Maven realizar la recompilación de bibliotecas dependientes? ¿Sería posible configurar Maven para descargar fuentes, poner allí información sobre el objetivo 1.6 y realizar mvn clean install?
Soy consciente de Maven Dependency plugin y dependency:sources objetivo. Eso podría usarse para la descarga de la fuente.
También hay Maven Replacer Plugin permitiendo el reemplazo de texto en archivos. Como se indica en su Issue 58, se implementó el soporte de XPath para ello.
¿Sería posible implementarlo con estos complementos para la dependencia y también para sus dependencias para realizarlo? No estoy seguro de cómo realizarlo en las dependencias, tal vez con Maven Replacer Plugin inyectando la configuración en las dependencias desempaquetadas pom.xml?
¿O existe una forma más sencilla de configurar la versión de destino de Java con el perfil de compilación en settings.xml que tomaría precedencia de la configuración del proyecto y, por lo tanto, evitar la modificación pom.xml?
Ese es un buen punto. Soy consciente de que el paquete con recursos no afecta el rendimiento. Estaba considerando el caso de las bibliotecas de Java que se compilan, si hay una forma de cómo volver a compilarlas y forzar la versión de destino de Java a 1.6 (si hubiera alguna diferencia). Estoy pensando en ello como el sistema de compilación de paquetes de Linux. Es posible compilar paquetes, pero ciertamente podría haber paquetes que contengan, por ejemplo, documentación que no afecta la perofrmace. – Aries