Actualización de Intellij 2020.1.2 a IntelliJ 2021.2.3 Problema al usarlo con Java Play 2.2
Estoy actualizando mi IDE de IntelliJ 2020.1.2 a IntelliJ 2021.2.3.
Mi proyecto utiliza una biblioteca Java Play bastante antigua, play_2.10-2.2.0.jar
, que por defecto recuperará los mensajes de su propio archivo jar. La siguiente imagen captura lo que está presente en el archivo jar de Play, donde los mensajes se encuentran en el directorio raíz.
Y cuando comencé a ejecutar la aplicación usando IntelliJ, en lugar de recuperar correctamente el archivo de mensajes desde la carpeta play .m2 como se especifica en el pom.xml, obtiene el archivo jar de tiempo de ejecución de IntelliJ como se muestra a continuación.
Lo cual, por supuesto, genera el problema. Este es un problema que la IDE anterior no tenía.
Y parece que hay un choque en el classpath aquí.
¿Cómo puedo asegurarme de que el classpath del jar de Play siempre anule al de IntelliJ? [Aunque creo que pueden surgir otras excepciones en caso de que IntelliJ no encuentre correctamente la carpeta de mensajes.
Cuando uso el comando java, siempre puedo asegurar el orden especificando -classpath
. ¿Cómo puedo hacer lo mismo en IntelliJ? Especificarlo en los módulos de la estructura del proyecto puede no ser útil, ya que parece que el archivo jar de tiempo de ejecución de IntelliJ nunca está presente aquí.
¿Existe alguna solución para resolver este problema?
Gracias.
davy.ai
Para asegurarse de que el
play_2.10-2.2.0.jar
ruta de clase siempre sobrescribe el jar de ejecución de IntelliJ, puedes seguir estos pasos:play_2.10-2.2.0.jar
en la lista.play_2.10-2.2.0.jar
hacia arriba en la lista haciendo clic en la flecha hacia arriba junto a ella hasta que esté en la parte superior.Esto debería asegurarse de que la ruta de clase de tu proyecto siempre priorice la biblioteca
play_2.10-2.2.0.jar
sobre el jar de ejecución de IntelliJ.