No encuentro clase al importarla desde paquete

Estoy tratando de importar clases que he guardado en un paquete y no me compila ya que me dice netbeans no main classes found cuando yo la clase la he guardado en el paquete:
package com.user.jhtp.cap8;
Y después la importo desde el main para poder acceder a sus métodos de la siguiente manera:
import com.user.jhtp.cap8.Tiempo1;
Y no me compila. Si alguien me puede echar una mano agradecida.

1 Respuesta

Respuesta
1
Cuando te dice que no Main class found, es que el netbeans esta cruzado, aveces pasa, a mi me pasa casi 1 vez por semana que se me bloquea le netbeans...
Mira, prueba esto, ¿Tu proyecto se encuentra en una carpeta cierto? Cambia de lugar esa carpeta, luego abre el netbeans, no va a reconocer el proyecto porque no lo encuentra en la ultima carpeta que estaba, luego cierra el netbeans, vuelve a copiar el proyecto en su carpeta que estaba y luego vuelve a abrir el netbeans.
Si no se te arregla vuelve a crear un nuevo proyecto y copia de tu proyecto anterior al nuevo proyecto, sin copiar la clase main, de la clase main solo copias el código.
Si no te funciona mandame tu proyecto a mi mail, [email protected] y yo te lo arreglo
Que tengas un buen día.
Hola experto muchas gracias por tu respuesta, quitando carpeta y después volviendo a colocarla me ha compilado lo que no entiendo después que me ha compilado me da error incorrect package en la clase main cuando la importo.
Me explico yo tengo una clase en la cual para configurar horarios almacenada en el paquete package com.deitel.java.cap8.
Después abro un main para importar la clase Tiempo1 que se encuentra en ese paquete de esta manera:
import com.deitel.java.cap8.Tiempo1;
Y en el renglón superior me sale una lamparita con un signo rojo diciéndome incorrect package y lógicamente me compila con errores.
Como nunca había hecho uso de la opción de reutilizar código no se porque me pasara esto si buscando información mediante esas instrucciones puedo importar una clase para usar sus métodos.
Desde ya agradezco tu tiempo y que me has brindado una solución a mi primer problema, si sabes que podrá estar pasándome con la importación de la clase espero respuesta y si no te califico por haberme dado la solución al problema original.
Que te encuentres muy bien saludos Gracias!
Jajajaja tu error es muy... tierno... por así decirlo je je, te sale un error que esta en el paquete incorrecto porque como has reutilizado código no le has puesto el paquete correspondiente.
Las clases java están mapeadas dentro del java, si tu le das click a esa lamparita roja te dice "Move to correct package" y el compilador te soluciona el error, pero la clase se va al paquete "default package" y tendrías que volver a jalarla al paquete...
Ahora, no te vayas a molestar pero no te he entendido bien, en tu afán de querer explicarme, has omitido la lógica sin querer...
Tu clase Main se llama Clase8, tu quieres importar la clase Tiempo1 a la clase 8, las 2 están en el mismo paquete y te sale error incorect package en la clase Tiempo1, ¿estoy en lo correcto? ¿Así es tu error?
Todas las clases pertenecen a un paquete, todas tienen en su primera instrucción
package EJEMPLO;
package com.deitel.java.cap8;
package todoexpertos;
Algo así como estos 3 ejemplos son los que tienen todas las clases en su primera instrucción, las clases que no la tienen, sale error de paquete ya que el compilador dice que hay que moverlas al default package, que se crea solo.
Entonces, a las clases que pertenecen todas a un mismo paquete, no hace falta volver a importar el paquete, ni siquiera importar la clase, ya la reconoce sola...
Supongamos que tienes la clase Tiempo 1 y Clase8, todas dentro de package com.deitel.java.cap8. si vas hacer Tiempo1 t1=new Tiempo1(); no hace falta importar nada, xq como estan en el mismo paquete.
Pero si tuvieras a Clase8 dentro de package com.deitel.java.cap8. y si tuvieras a Tiempo1 dentro de package todoexpertos.
Si dentro de clase8 quieres importar a Tiempo1 al hacer Tiempo1 t1=new Tiempo1(); deberias importar el import com.deitel.java.cap8.Tiempo1.
Si dentro de Tiempo1 quieres importar a clase8 deberías hacer un import todoexpertos. ¿Clase8, me entiendes?
Entonces cada clase debe tener su paquete en la primera linea, por eso es que te sale el error de incorrect package, entonces si las 2 están en el mismo paquete no hace falta que importe nada, pero si la clase esta en otro paquete si debes importar el nombre del paquete luego de un punto luego del nombre de la clase..
¿Ahora se soluciono tu error?
Hola muchas gracias por responder, leyendo tu respuesta no entiendo lo siguiente: tu me dices "Pero si tuvieras a Clase8 dentro de package com.deitel.java.cap8. y si tuvieras a Tiempo1 dentro de package todoexpertos.
Si dentro de clase8 quieres importar a Tiempo1 al hacer Tiempo1 t1=new Tiempo1(); deberias importar el import com.deitel.java.cap8.Tiempo1
El import no tendria que ser:
import todoexpertos.Tiempo1;?
Supongamos que tengo una clase Tiempo1 (con diferentes métodos) en el paquete tiempo.
Yo abro otro proyecto con el paquete todoexpertos.
Y quiero usar un método de la clase Tiempo1, desde la clase de aplicación (main) del proyecto nuevo importo la clase Tiempo1:
import tiempo.Tiempo1;
Un ejemplo en java para ser mas clara:
package javaapplication140; //paquete por defecto del nuevo proyecto
import tiempo.Tiempo1;

public class Main {

public static void main(String[] args) {

Tiempo1 t1 = new Tiempo1();
}
}
Cuando yo declaro mi import tiempo y coloco el punto para colocar la clase me da no suggetions como si el paquete no existiera y si existe. Muchas gracias por tu tiempo que estés muy bien saludos!
Si entiendo que no entiendas jejejeje
Mira, como tu misma lo has dicho en esta linea
package javaapplication140;
Cada clase debe tener en su primera linea el nombre del paquete al que pertenece. Supongamos que tenemos el paquete "java" con las clases A, B, C y el paquete "adrian" con las clases DE, E, F, si quiere usar métodos de cualquiera de las clases del paquete "java" en otra clase que también esta dentro del paquete java, no tienes necesidad de hacer ninguna importación, solo con hacer A x=newA(); es suficiente.
Pero si dentro de paquete "java" quiere usar métodos que se encuentran dentro de la clase "adrian" ahí si debes hacer la importación necesaria de import adrian. DE por ejemplo.
Ahora, la parte importante aquí es que cada clase debe tener una referencia a su paquete como te lo dije más arriba, si no tiene referencia a que paquete pertenece, el compilador no sabe como relacionar los paquetes, entonces cada clase debe tener como primera linea de todas el nombre del paquete al que pertenece para que no te salga ninguna sugerencia por parte del compilador.
¿Me deje entender ahora?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas