He empezado a trabajar en un proyecto Java, y he descargado el código fuente de GitHub, el uso de IntelliJ – nunca he usado IntelliJ antes, pero estoy diciendo que es mucho mejor IDE para el uso de Eclipse (que es lo que yo estaba usando la última vez que me hice cualquier desarrollo en Java – hace unos cuatro años).

Cuando intento compilar el código fuente localmente en mi pc, después de haber tirado la última versión de GitHub, me sale un error de compilación en varias líneas de código, el error dice:

Error:(27, 34) java: del diamante operador no es compatible en -fuente de 1.5 (uso -de la fuente 7 o superior para permitir diamante operador)

y las líneas donde estos errores de compilación aparecen, son líneas como:

return new ArrayList<>(0);

Si puedo seleccionar la línea, y hacer Alt + Enter en el error, se muestra un mensaje que indica que puedo

«Establecer el nivel de idioma a 7 – los Diamantes, el BRAZO, la Multi-cache, etc»

Sin embargo, si selecciona esta opción, no pasa nada…

En el pom.xml archivo, es el siguiente xml:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.5.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <version>${maven-source-plugin.version}</version>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>

Pero cuando vi este error, me encontré con la respuesta a: Tipo de diamantes no son compatibles en este nivel de idioma, lo que indica que debería ser el uso de maven1.7 o superior, y parece que el proyecto ya está utilizando la versión 1.8, así que no entiendo por qué estoy recibiendo este error de compilación…

Alguien tiene alguna sugerencia?

  • ¿Has comprobado itellij idea de proyecto de la estructura de las opciones?
  • Soy nuevo en el IntelliJ… ¿cómo y dónde puedo verificar eso?
  • Se ejecuta en la edición en IntelliJ o en la línea de comandos? Trate de línea de comandos para ejecutar mvn clean install y ver qué pasa.
InformationsquelleAutor Noble-Surfer | 2017-05-16

2 Comentarios

  1. 23

    Agregar el siguiente código en su pom.xml archivo.

    <!-- maven-compiler-plugin -->
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
              <source>1.8</source>
              <target>1.8</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
    • ¿Por qué funciona esto?
  2. 5

    Bajo File->Project Structure (Ctrl + Alt + Cambio + s) hay una sección llamada Project Settings, y Project

    Aquí se puede establecer el proyecto de nivel de idioma.
    Java - Diamante tipos no son compatibles en este nivel de idioma

    • Gracias por tu respuesta. Sólo traté de configuración que a 7, clic en la opción «Aplicar» y luego en «ACEPTAR», y luego trató de construir el proyecto de nuevo, pero me sale el mismo error en la consola: Error:(27, 34) java: diamond operator is not supported in -source 1.5 (use -source 7 or higher to enable diamond operator)
    • El Proyecto SDK es de 1.8 en el caso de que lo que hace la diferencia…?
    • Por favor, consulte stackoverflow.com/a/12900859/104891.
    • Gracias por el enlace, me ha seguido a través de la aceptación de respuesta, y mi proyecto parece estar correctamente configurado de acuerdo a lo que dice… La única cosa que no he hecho no es para volver a importar todos los proyectos Maven… no estoy seguro de cómo puedo obtener el Maven Projects Ventana de la Herramienta que se muestra?
    • Ok, así que he hecho la reimportación, pero sigo obteniendo el mismo error de compilación… alguna sugerencia?
    • Mirando a través de la aceptación de la respuesta sobre la pregunta que está conectado, en la primera captura de pantalla, uner «Por-módulo de código de bytes de la versión», la captura de pantalla muestra algo que se llama testNgMavenExample… yo no tengo nada de lo que hay en la mina debería tener? Traté de hacer clic en el » + » para añadir un módulo, pero el ‘Seleccione el Módulo» de la ventana que apareció dijo «nada que mostrar»…. necesito descargar un módulo de uso o algo?

Dejar respuesta

Please enter your comment!
Please enter your name here