java.lang.ClassNotFoundException cuando se ejecuta en IntelliJ IDEA

Estoy creando un progtwig para trabajar con bases de datos y obtengo el siguiente error al comstackr en IntelliJ IDEA. ¿Alguien sabe por qué está pasando esto y cómo podría resolverlo?

enter image description here

El error que recibe no se produce en el cumplimiento, sino cuando intenta ejecutar su aplicación. Sucede porque Java no pudo encontrar el archivo Table.class dentro del subdirectorio db directorio de salida del proyecto (classpath).

Puede suceder por múltiples razones:

  • clase principal incorrecta seleccionada en la configuración de ejecución / depuración
  • Table.java está excluido de la comstackción (por accidente o intencionalmente porque contenía errores y quería omitirlo mientras trabajaba en otro código)
  • clase no comstackda porque el paso Build está excluido desde Antes de los pasos de inicio en la configuración Ejecutar / Depurar
  • proyecto está mal configurado y no hay una raíz de origen definida para el directorio que contiene el subdirectorio db
  • Table.java tiene una statement de package incorrecta o está ubicada / movida a un paquete diferente
  • la ruta del proyecto contiene dos puntos : en Mac / Linux o punto y coma ; en Windows, se usa para separar el classpath y hará que el classpath no sea válido. Mira este hilo para más detalles. Tenga en cuenta que Finder en Mac puede mostrar dos puntos en la ruta como barras diagonales.
  • el jar no se puede ejecutar si uno de los jars dependientes está firmado digitalmente ya que el nuevo artefacto incluirá la firma parcial de la dependencia. Vea esta respuesta para más detalles.

En un proyecto correctamente configurado y con la configuración correcta de ejecución / depuración, todo funciona bien:

correr

  • el jar no se puede ejecutar si uno de los jars dependientes está firmado digitalmente ya que el nuevo artefacto incluirá la firma parcial de la dependencia. Vea esta respuesta para más detalles.

Debo recalcar nuevamente el punto que CrazyCoder tiene aquí.

La JVM (Oracle) solía arrojar una SecurityException cuando intentaba ejecutar un Jar-File que contenía firmas rotas. Esto tiene sentido desde un “¿Qué pasa?” -Punto de vista.

Ese ya no es el caso. De hecho, están lanzando ClassNotFoundException ahora, incluso si la clase está ahí en el archivo (sin importar si está en el paquete / nivel de implementación predeterminado o en una estructura de paquete nested).