Soy bastante nuevo en el desarrollo de Java. Solía programar en el Procesamiento3 IDE, pero ahora estoy tratando de cambiar a Intellij Idea. Todos los tutoriales (https://www.youtube.com/watch?v=_h2gzgnpcnm ) Importarlo, así que estoy tratando de importar procesando.core.papplet también. También agregué el Core.jar a las bibliotecas en la configuración de la estructura del proyecto.

Cuando importa el núcleo, pero no lo extiende (sea lo que sea esto) a la clase principal, no obtenga ningún error. Después de extenderlo a la clase principal, obtengo el error.

import processing.core.PApplet;

public class Main extends PApplet{
    public static void main(String[] args) {
        //PApplet.main("Main");
    }
}

Espero que se ejecute correctamente porque seguí las instrucciones proporcionadas en el tutorial. El mensaje de error es:

Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
    at processing.core.PApplet.<clinit>(PApplet.java:122)

Espero que puedas decirme cuál significa el mensaje de error ...

Gracias

3
Pa Scho 27 jun. 2019 a las 22:58

1 respuesta

La mejor respuesta

Este problema se ha registrado en este problema github. Dicho mensaje de error estuvo presente cuando se procesó 3.3.6 (x64) se lanzó con JDK 9 (X64): el código BYTECODE descomprimible conduce al error con este código:

javaPlatform = parseInt(split(javaVersionName, '.')[1]);

Pero parece que la versión JDK 9 fue devuelta como solo "9" pero no "9.0".


String ver = System.getProperty("java.version");
System.out.println(ver);

Devuelve solo "9". El código en PApplet.java intenta dividirlo usando "". y tomar [1] elemento que no existe. Esto provoca el error que está viendo.

Fui no para replicar su problema en Windows 10, procesando 3.5.3 y con el uso de Java 10, por lo tanto, asumo que su problema se ha solucionado en versiones más recientes de Java. Desde el video que publicó en su pregunta, parece que el autor de video está utilizando Java 8 para su procesamiento 3.3.6, asegúrese de tener la misma configuración. De lo contrario, use un JDK más reciente (por ejemplo, E.G. Java 10) si está utilizando la versión de procesamiento más reciente (3.5.3).

2
vs97 27 jun. 2019 a las 22:17