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 ni siquiera se compila y sigue dándome 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 tenga que hacer en la configuración del compilador? ¿O es el código?
java
compiler-errors
intellij-idea
Cartero confundido
fuente
fuente
libTest.java
?import java.lang...
Esto sucede automáticamente para las clases en ellang
paquete.Respuestas:
Esto podría ayudar:
1) Menú "Construir" -> "
Rebuild Project
". A veces Intellij no reescribe las clases porque ya existen, de esta manera le pides a Intellij que reescriba todo.2) Menú "Ejecutar" -> "
Edit configuration
" -> eliminar el perfil -> volver a agregar el perfil ("Aplicación" si es una aplicación Java), elija su clase principal en el menú desplegable "Clase principal".3) Menú "Construir" -> "
Rebuild Project
".fuente
Rebuild Project
¡trabajó para mi!"Build" menu -> "Rebuild Project
- hizo el trabajo! Graciasrebuild project
funcionó para mi problema. ¡Gracias!Si ninguna de las respuestas anteriores funcionó para usted, simplemente cierre su intelliJ IDE y elimine el archivo y la carpeta de intelliJ IDE de la raíz del proyecto:
Luego abra el proyecto con intelliJ. Debe funcionar ahora.
fuente
.idea
carpeta siempre resuelve todos los problemas con los IDE de JetBrains :)Para mí, la solución fue arreglar el directorio de salida en la configuración del proyecto. Antes estaba usando solo "target" para la salida del compilador del proyecto. En cambio, lo actualicé para tener una ruta completa, por ejemplo, D: \ dev \ sigplusjava2_68 \ target
fuente
Rebuild Project
.Tuve este problema y probé todo lo que se me ocurrió en este sitio.
Ninguna de mis clases de Java fueron recogidas después de que salí de una rama remota. Todas las clases tenían J rojas por sus nombres en la Jerarquía del Proyecto, no C azules.
Al final, traté de seguir este tutorial y unos pocos pasos para probar algo no descrito y solucionar el problema: https://www.jetbrains.com/help/idea/creating-and-managing-modules.html
Esto es lo que hice:
Por alguna razón, todas mis clases tenían C azules.
Alguien con una mejor comprensión de cómo IntelliJ y / o IDE podrían explicar el fenómeno, pero todo lo que sé es que ahora puede ver todas las clases y, lo que es más importante, la principal y ejecutar.
fuente
Crear explícitamente una
out
carpeta y luego configurar la ruta de salida aC:\Users\USERNAME\IdeaProjects\PROJECTNAME\out
parecía funcionar para mí cuando solo
out
, y esperar que IntelliJ hiciera la carpeta no lo haría.También intente que IntelliJ le haga una nueva configuración de ejecución:
Encuentra el anterior haciendo clic
luego quítalo
y golpeo bien.
Ahora, (PASO IMPORTANTE) abra la clase que contiene su método principal. Probablemente esto sea más fácil haciendo clic en el nombre de la clase en el Panel del proyecto del lado izquierdo.
Dale un Alt+ Shift+ F10y deberías obtener un
Ahora golpea Enter!!
Tadah ?? (¿Funcionó?)
fuente
main()
función declass Main
a otra clase. En ese caso, edite la configuración de ejecución como se muestra arriba y cambie el valor de 'Clase principal' a su nombre de clase (totalmente calificado).Invalidar caché y reiniciar su intellij, funcionó para mí.
fuente
Sé que esto se preguntó hace un tiempo, pero estaba tropezando con este problema 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), a pesar de que la configuración de ejecución especifica "Compilar" en la sección "Antes del lanzamiento" del panel de configuración.
¿Cuándo puede pasar esto? Una situación que puede hacer que esto suceda 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, es posible que el sistema de compilación no sepa que necesita ser reconstruido.
Peor aún, si selecciona Construir | Construya el módulo 'foo', aún puede no 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 | Vuelva a compilar 'bar.java'. Ahora se debe restaurar el directorio de salida out / production / foo.
Dado que IntelliJ generalmente sabe acerca de cualquier cambio que esté ocurriendo, esto me sorprendió y me tomó un poco de tiempo averiguarlo, así que pensé en compartirlo.
fuente
Compruebe su 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 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")
que esto te ayude
fuente
Tuve que marcar la carpeta "src" como "Fuentes". Después de reiniciar IntelliJ y reconstruir el proyecto, podría ejecutar el proyecto sin más problemas (ver captura de pantalla ). Editar: Puede acceder a la pestaña "Estructura del proyecto" a través de Archivo-> Estructura del proyecto o presionando Ctrl + Shift + Alt + S.
fuente
Abra la pestaña Módulos (presione Ctrl + Shift + Alt + S). Tenía dos módulos en un solo proyecto. He resuelto el problema después de quitar el segundo módulo redundante (ver captura de pantalla).
fuente
Me he enfrentado a tales problemas cuando la clase está en la carpeta predeterminada, es decir, cuando la clase no declara un paquete.
Entonces, supongo que usar una declaración de paquete (por ejemplo
package org.me.mypackage;
) en la parte superior de la clase debería solucionarlo.fuente
package org.confused.mailman;
org/confused/mailman
agregar esa línea de paquete no será de ayuda.Archivo> Estructura del proyecto> Módulos> Marcar la carpeta "src" como fuentes. Esto debería solucionar el problema. También verifique que se haya seleccionado el último idioma para que no tenga que cambiar el código o hacer ningún cambio de configuración.
fuente
En mi caso, el problema parecía estar relacionado con la actualización de IntelliJ. Cuando hice esto, sobrescribí los archivos del antiguo 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 reinstalarla. Todos mis proyectos funcionaron después de eso.
fuente
idea\bin
seridea_old\bin
y se renombró la configuración de la carpeta en el%user%\username
que es.IntelliJIdea2018.2
para ser.IntelliJIdea2018.2_old
luego volvió a extraer intellij archivo zip para empezar a usarlo como nueva versión portátil fresco (Esta es la versión 1.2.2018) con Spring La aplicación de arranque de múltiples módulos separados (no vinculados en pom.xml monoparental) es una aplicación de arranque de primavera con su propio pom.xml y ¡listo! Todos los trabajos, carpeta de destino creada, compilando antes de ejecutar a través del tablero de arranque de primavera.Para mí, probé algunas de las opciones anteriores, no funcionó. Luego, simplemente cambié el nombre de mi clase de aplicación y eso probablemente forzó a intelliJ a construir un nuevo jar y el mensaje de error comenzó a cambiar. Luego lo renombré y funcionó.
fuente
Marque el directorio como directorio de origen. Abierto a través de Ctrl + Shift + Alt + S
fuente
He intentado todos los trucos sugeridos aquí, sin resultado. Al final, simplemente creé una nueva aplicación Maven y la copié manualmente, una por una, pom.xml y los archivos y recursos de Java. Todo funciona ahora. Soy nuevo en IntelliJ y estoy totalmente impresionado, pero lo fácil que es llevarlo a un estado inestable.
fuente
modules.xml con contenido incorrecto, no sé qué le pasa a mi IDEA.
fuente
Heredé un montón de archivos .JAVA de otro lugar y no pude encontrar la manera de hacer que funcionen en ningún IDE. Finalmente tuve que ir a la línea de comando donde estaba el archivo Main.JAVA y ejecutarlo
javac Main.java
. Esto creó un montón de archivos .CLASS. Los IDE pudieron averiguar qué hacer.fuente
Recibí este error cuando uso Scala / SBT . IntelliJ no pudo encontrar la clase principal, a pesar de que todo estaba configurado correctamente. Mi solución: eliminar la
<user>/.sbt/<version>/plugins/target
carpeta, luego reiniciar IntelliJ.fuente
Estoy usando IntelliJ con Spring y mi clase principal está envuelta en un JAR. Tuve que marcar el 'Incluir dependencias con el alcance "Proporcionado" en el cuadro de diálogo de configuración Ejecutar / Depurar
fuente
Estamos en la Estructura de Archivo / Proyecto. La respuesta podría ser:
La carpeta indicada como "raíz de contenido" necesita una carpeta secundaria donde está el código. Además, encuentre el botón que marca el código como excluido y no. No debe confundirse con la casilla de verificación que dice excluido sin decir en qué fase y qué ** ¿Es el compilador excluye o excluye el tiempo de ejecución? Estás condenado a probar y mucho. Así que no esa casilla de verificación sino iconos y colores.
Como idea, necesitamos descifrar cómo se pensó originalmente que funcionaba. En primer lugar, nunca lo hicieron funcionar y comenzaron a agregar cosas en un estilo de codaculación prematura. Han pasado tantos años y no se puede esperar ninguna mejora. Pero como cura podemos encontrar alguna forma de hacerlo bien cada vez.
fuente
Otra cosa que puede verificar aquí es el comando real que se pasa a la JVM y asegúrese de que se vea bien. Desplácese hasta la parte superior de su consola Run, debería ser la primera línea.
Los espacios en el campo Opciones de VM de configuración de ejecución malformarán el comando de inicio de la aplicación y pueden generar este mensaje de error
fuente
Elaborando la solución de Brad Turek ... Una de las plantillas de proyecto IntelliJ Java predeterminadas espera un archivo llamado Main que defina el punto de entrada del método Main y main () de la clase . Si el método está contenido en otro archivo (y clase), cambie la configuración de Ejecutar :
Ejecutar ventana de configuración
Como otros han notado, debe reconstruir utilizando la nueva configuración. Estoy usando un paquete, pero eso no parece hacer una diferencia en IME. Espero que esto ayude.
fuente
En mi caso, en el 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.
fuente
Simplemente reconstruya el proyecto (CTRL + F9) y verifique dos veces (Editar configuraciones) si tiene una clase principal y un módulo correctamente configurados (si corresponde)
fuente
La solución simple es ir a la carpeta respaldada en la línea de comando, donde se encuentra la carpeta raíz del proyecto. Debe tener SBT instalado en su máquina.
Si tiene instalado sbt, ejecute el comando "paquete sbt", esto recompilará el proyecto si tiene éxito, vuelva a intelliJ y funcionará.
fuente
En mi caso, tenía configurados argumentos vm (relativamente) largos. Convertir estos argumentos (siempre que sea posible) en variables de entorno solucionó el problema para mí
fuente
En mi caso, la aplicación se ejecuta bien cuando el código inicialmente estaba en el directorio / src del proyecto. Más tarde agregué el directorio / main / java después del / src, luego ocurrió el error "No se pudo encontrar o cargar la clase principal ...". En ese momento no podía agregar /src/main/java/YourMain.java a la configuración de ejecución. Lo que hice fue eliminar la configuración de ejecución, luego hacer clic derecho en el proyecto-> Abrir configuración del módulo (o F4 después de hacer clic en el panel Proyecto) -> Configuración del proyecto-> Módulos eliminar (x) la antigua raíz de contenido y + Agregar raíz de contenido, elija / src / main / java. Reconstruye el proyecto y se ejecuta.
fuente
Probablemente habría especificado un paquete incorrecto y la jerarquía del paquete no sería correcta. Mira abajo
El ide destacaría el camino equivocado en ese caso.
fuente
En mi caso, es un proyecto maven, reimporté maven (haga clic derecho en el archivo pom.xml y haga clic en Reimportar ), eso funcionó de inmediato.
fuente