El error que obtiene no ocurre en la compilación, sino cuando intenta ejecutar su aplicación. Ocurre porque Java no pudo encontrar el archivo Table.class dentro del subdirectorio db del directorio de salida del proyecto (classpath).
Puede ocurrir por múltiples motivos:
Table.java está excluido de la compilación (por accidente o intencionalmente porque contenía errores y quería omitirlo mientras trabajaba en otro código)dbTable.java tiene una declaración package incorrecta o se encuentra/se movió a un paquete diferente: en Mac/Linux o punto y coma ; en Windows, se usa para separar el classpath y lo invalidará. Ver este hilo para más detalles. Tenga en cuenta que Finder en Mac puede mostrar dos puntos en la ruta como barras..idea/modules.xml hace referencia a un archivo de módulo no válido llamado untitled104.iml . Corrija el nombre del módulo manualmente o cree un proyecto desde cero y no use una plantilla.En un proyecto configurado correctamente y con la configuración correcta de ejecución/depuración, todo funciona bien:
- es posible que el jar no se ejecute si uno de los jar dependientes está firmado digitalmente, ya que el nuevo artefacto incluirá la firma parcial de la dependencia. Ver esta respuesta para más detalles.
Nuevamente debo enfatizar el punto que CrazyCoder tiene aquí.
La JVM (Oracle) solía generar una SecurityException cuando intentaba ejecutar un archivo Jar que contenía firmas rotas. Esto tenía sentido desde el punto de vista de "¿Qué está mal?".
Ese ya no es el caso. De hecho, están lanzando ClassNotFoundException s ahora, incluso si la clase está allí mismo en el archivo (sin importar si está en el paquete predeterminado/nivel superior o en una estructura de paquete anidada).
Esto es lo que funcionó para mí:
Eliminé la carpeta .ide , el archivo .iml . Y todos los demás archivos generados automáticamente por intelliJ luego reiniciaron mi ide y me preguntaron si quería que mi proyecto se ejecutara con maven, eso es todo.
Obviamente dije que sí :)