Estoy tratando de usar a java.lang.function.Function
en mi base de código java 8, pero sigo recibiendo el siguiente error en Intellij.
Uso de API documentado como @since 1.6+ Esta inspección encuentra todos los usos de los métodos que tienen la etiqueta @since en su documentación. Esto puede ser útil cuando el desarrollo se realiza con la versión más reciente del SDK como plataforma de destino para la producción
Parece que tengo la configuración correcta de Proyecto y Compilador
Configuración del proyecto: (Archivo -> Estructura del proyecto)
Project Settings -> Project -> Project SDK = Java 1.8
Project Settings -> Project -> Project Language Level = 8 - Lambdas, Type Annotations etc
Configuración del compilador: (Archivo -> Configuración)
Build, Execution, Deployment -> Compiler -> Java Compiler -> Project Bytecode Version : 1.8
Build, Execution, Deployment -> Compiler -> Java Compiler -> Per module Bytecode Version -> Target Bytecode Version : 1.8
¿Cuál es el problema?
fuente
Project default
nivel de idioma (en laSources
pestaña).Project Settings
se encuentra enFile -> Project Structure
Si está utilizando maven, agregue la línea siguiente en su archivo de configuración pom.xml y luego vuelva a importarlo o compílelo desde maven.
De lo contrario, seleccione el compilador de Java y el Nivel de idioma de la ruta a continuación.
Archivo> Estructura del proyecto> Configuración del proyecto> Módulos> el nombre del módulo> Fuentes> Nivel de idioma> elija el que necesita.
Cambiar el nivel de idioma desde aquí: -
fuente
En realidad, si está utilizando Maven y las
pom.xml
propiedades de su proyecto están configuradas correctamentePuede volver a importar los parámetros de Maven al
intellij-idea
proyecto: haga clic con el botón derecho en la entrada raíz del proyecto,Maven -> Reimport
que se encuentra en la parte inferior.fuente
Lo arreglé de la siguiente manera:
Haga clic derecho en el proyecto -> Abrir configuración del módulo -> Módulos -> Fuentes -> 8 o superior
Y entonces
Si aún encuentra el error y usa Maven , debe agregar la configuración de compilación en su
pom.xml
:fuente
Archivo> Configuración> Compilación, ejecución, implementación> Compilador Java
Cambie la versión de código de bytes de destino a 1.8 del módulo para el que está trabajando.
Si estás usando Maven
Agregue el complemento del compilador a pom.xml en el nodo del proyecto de nivel superior:
fuente
Si está utilizando Gradle, no olvide asegurarse de que lo siguiente esté configurado en 1.8 y no en 1.5 (por ejemplo, por alguna extraña razón en Intelij, por defecto es 1.5), así que no importa lo que haga a nivel de proyecto para configurar el compilador nivel de compatibilidad, esta configuración hará que continúe dándole problemas con las características de Java 8 que no reconocería:
fuente
Tal vez su configuración de repositorio tiene propiedades que incluyen la versión del compilador. examinar el
settings.xml
archivofuente
Hay otro lugar que podría estar causando este problema, independientemente de si está utilizando Maven o Gradle.
En
Settings | Editor | Inspections | Java language level migration aids | Usages of API which isn't available at the configured language level
, el valor predeterminado (creo) se establece enRespecting to project language level settings
, pero se puede establecer enHigher than:
, que ignora la configuración del proyecto.Lo que significa que si sigue las instrucciones en las otras respuestas y establece el nivel de idioma de su proyecto en, digamos, 8, pero la inspección está configurada en
Higher than: 7
, IDEA todavía tendrá un ataque.fuente