java - para - intellij idea or netbeans
Error: no se pudo encontrar o cargar la clase principal en intelliJ IDE (18)
Abra la pestaña Módulos (presione Ctrl + Shift + Alt + S). Tenía dos módulos en un proyecto. Resolví el problema después de eliminar el segundo módulo redundante (ver captura de pantalla).
Soy un principiante en Java y estoy tratando de ejecutar mi código usando IntelliJ que acabo de instalar como mi IDE con JDK 1.7. El siguiente fragmento de código no se compila y me sigue dando el error:
Error: Could not find or load main class libTest
Código
import java.lang.Integer;
import java.lang.String;
import java.lang.System;
import java.util.*;
class book {
private String name = "trial";
private int bookCode=1;
private int issued=0;
public void Issue(){
if(issued==0) {
issued=1;
System.out.println("You have succesfully issued the book");
}
else {
System.out.println("The book is already issued. Please contact the librarian for further details");
}
}
public int checkCode() {
return bookCode;
}
String readName() {
return name;
}
public void setName(String newName){
name=newName;
}
public void setBookCode(int newCode){
bookCode=newCode;
}
}
class library {
private ArrayList books=new ArrayList();
public void getList(){
for(int bk:books){
String bName=books(bk).readName();
System.out.println((bk+1)+") "+bName);
}
}
}
public class libTest{
public static void main(String[] args){
library newLib= new library();
System.out.println("code working");
}
}
¿Hay algún cambio que deba hacer en la configuración del compilador? ¿O es el código?
Crear explícitamente una carpeta de out
y luego establecer la ruta de salida a C:/Users/USERNAME/IdeaProjects/PROJECTNAME/out
parecía funcionar para mí cuando acababa de out
, y esperaba que IntelliJ hiciera que la carpeta no lo hiciera.
También intente que IntelliJ le haga una nueva configuración de ejecución:
Encuentre el anterior haciendo clic
luego quítalo
y golpea bien
Ahora, (PASO IMPORTANTE) abra la clase que contiene su método principal. Probablemente sea más fácil hacerlo haciendo clic en el nombre de la clase en el panel de proyectos del lado izquierdo.
Dale un Alt + Shift + F10 y deberías obtener un
Ahora presiona Enter !!
Tadah? (¿Funcionó?)
Elaborando sobre la solución de Brad Turek ... Una de las plantillas de proyecto de IntelliJ Java por defecto espera que un archivo llamado Main defina el punto de entrada del método main y main () . Si el método está contenido en otro archivo (y clase), cambie la configuración Ejecutar :
Ejecutar ventana de configuración
- Con el proyecto abierto en IntelliJ, use el menú Ejecutar: Editar configuraciones ... para abrir la ventana de configuración de compilación.
- Si la entrada para la clase principal no muestra el nombre de su archivo que contiene la clase que expone el método de entrada main () , ingrese el nombre correcto del archivo. (La configuración en la imagen es incorrecta, por lo que es roja en el panel de configuración).
- Mi método de entrada principal () está en la clase (y archivo) ScrabbleTest . Así que cambiar la clase principal: a ScrabbleTest corrige el error de tiempo de ejecución.
Como otros han notado, debes ReBuild usando la nueva configuración. Estoy usando un paquete, pero eso no parece marcar la diferencia IME. Espero que esto ayude.
En mi caso, el problema parecía estar relacionado con la actualización de IntelliJ. Cuando hice esto, sobrescribí los archivos del viejo IntelliJ con los archivos del nuevo IntelliJ (comunidad 2017 a comunidad 2018). Después de eso, todos mis proyectos se rompieron. Intenté todo en este hilo y ninguno de ellos funcionó. Intenté actualizar Gradle a la última versión (4 a 4.8) y eso no funcionó. Lo único que funcionó para mí fue eliminar toda la carpeta IntelliJ y volver a instalarla. Todos mis proyectos funcionaron después de eso.
En mi caso, en build.gradle del módulo, la asignación mainClassName debe indicar el nombre de clase completo, es decir. como se especifica como el nombre del paquete en el archivo de código fuente de la clase principal.
Esto podría ayudar:
1) Menú "Compilar" -> " Rebuild Project
". Algunas veces, Intellij no reescribe las clases porque ya existen, de esta forma le pides a Intellij que reescriba todo.
2) Menú "Ejecutar" -> " Edit configuration
" -> eliminar el perfil -> volver a agregar el perfil ("Aplicación" si se trata de una aplicación Java), elija su clase principal en el menú desplegable "Clase principal".
3) Menú "Compilar" -> " Rebuild Project
".
Me he enfrentado a tales problemas cuando la clase está en la carpeta predeterminada, es decir, cuando la clase no declara un paquete.
Así que supongo que usar una declaración de paquete (por ej., El package org.me.mypackage;
) en la parte superior de la clase debería arreglarlo.
Ninguno de estos funcionó para mí. Mi problema fue cuando estaba actualizando IntelliJ IDEA de la última versión de Ultimate 2017 (creo que 2017.3 a 2018.1). Estaba sobrescribiendo los archivos de la versión de instalación anterior. Intenté todo lo anterior y nada funcionó. Una vez que eliminé todos los archivos de la antigua IDEA de IntelliJ y copié sobre los nuevos archivos, todo me funcionó nuevamente.
No tuve suerte, lo intenté
- Eliminando el archivo * .iml
- IntelliJ reinventada IDEA2018.1.6
- Re agregando el principal
- Clases invalidadas y reiniciadas
Para mí, el caso fue que excluí la clase principal de la compilación. Esta respuesta fue más que útil para mí.
https://.com/a/22292049/4412324
Para mí, el problema era un personaje especial en la ruta del archivo.
IntelliJ me permitió abrir el proyecto, sin embargo, cuando construí / ejecuté el proyecto no pude ubicar la clase más porque estaba transformando la ruta del archivo para eliminar el carácter especial y, por lo tanto, estaba buscando en el directorio incorrecto.
Para resolver el problema, simplemente eliminé el carácter especial del nombre de la carpeta en que estaba almacenado mi proyecto y volví a abrir el proyecto en IntelliJ.
Sé que esto fue preguntado hace un tiempo, pero estaba tropezando con este tema y pensé que mis hallazgos podrían ayudar a otros. Como se señaló, el mensaje de error es básicamente el resultado de la carpeta de salida. Esto se debe a que, cuando intenta ejecutar el programa, primero compila el código y coloca el resultado compilado en la ubicación de salida, y luego intenta cargar el código compilado desde la ubicación de salida. Si el código compilado no está en la ubicación esperada, obtendrá el error.
El punto que particularmente quiero compartir es que algunas veces, el código no se compila (compila), aunque su configuración de ejecución especifica "Crear" en la sección "Antes de iniciar" del panel de configuración.
¿Cuándo puede pasar esto? Una situación que puede hacer que esto ocurra es si está utilizando módulos y elimina manualmente el directorio de salida del módulo. Por ejemplo, si tengo un módulo llamado "foo", debería haber un directorio llamado foo en out / production. Si lo elimina manualmente, el sistema de compilación puede no saber que necesita ser reconstruido.
Peor aún, si selecciona Build | El módulo de compilación ''foo'', aún no puede reconstruir el módulo. Si ese es el caso, debe seleccionar un archivo en el módulo, por ejemplo ''bar.java'' y luego seleccionar Construir | Recompile ''bar.java''. Ahora el directorio out out / production / foo debe ser restaurado.
Dado que IntelliJ normalmente sabe acerca de cualquier cambio que se produzca, esto me sorprendió y me tomó un poco de tiempo descubrirlo, así que pensé que lo compartiría.
Si ninguna de las respuestas anteriores no funcionó para usted, simplemente cierre su IDE inteligente y elimine el archivo IDI inteligente y la carpeta de la raíz del proyecto:
rm -rf .idea *.iml
A continuación, abra el proyecto con intelliJ. Debe funcionar ahora.
Sigue estos pasos
- Ir a correr
- Ir a editar configuraciones
- Haga clic en el signo + de color verde en la esquina superior izquierda
- Seleccione el tipo que está trabajando, por ejemplo, "Aplicaciones"
- Ahora ingrese el nombre de la clase que desea ejecutar en lugar de sin nombre
- Haz lo mismo donde está escrita la clase principal, justo debajo de ella.
Yippee ... tu código se ejecutará :)
Tuve que marcar la carpeta "src" como "Fuentes". Después de reiniciar IntelliJ y reconstruir el proyecto, pude ejecutar el proyecto sin más problemas (ver la screenshot ). Editar: puede acceder a la pestaña "Estructura del proyecto" a través de Archivo-> Estructura del proyecto o presionando Ctrl + Mayús + Alt + S.
Comprueba tu módulo de clase : He encontrado este problema con intellij: Tengo un proyecto de varios módulos maven, el problema es que estoy ejecutando una clase que no existe en el módulo dentro de la configuración, por lo que mi problema se soluciona configurando el módulo correcto ( "editar configuración" -> "usar clase de módulo")
puede esto te ayuda