Duvida no main

Pessoal,

Segue abaixo o codigo do main:


/*
 * Main.java
 *
 * Created on 2 de Fevereiro de 2007, 10:00
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package Principal;

/**
 *
 * @author Sunda
 */

public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
        
        } 

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
           new FormCadastro().setVisible(true);
           JdbcConection conn = new JdbcConection();
    }
   
}

Então, tá dando o seguinte erro:


symbol  : class JdbcConection
location: class Principal.Main
           JdbcConection conn = new JdbcConection();
C:\sunda\Java\Principal\src\Principal\Main.java:30: cannot find symbol
symbol  : class JdbcConection
location: class Principal.Main
           JdbcConection conn = new JdbcConection();
2 errors
FALHA NA EXECUÇÃO (tempo total: 1 segundo)

Mas eu tenho o arquivo JdbcConection.java na minha pasta principal. Pq será que está dando esse erro?

Vlw!!!

Essa classe: JDBCConnection está na mesma pasta da classe Main???

Sim, tá assim:


Principal
   Pacotes de Código Fonte
       Principal
          Main.java
          Jdbcconnection.java

Na verdade identifiquei um erro. a chamada estava com o nome diferente. acertei e o erro mudou. ficou assim

public class JdbcConnection {
C:\sunda\Java\Principal\src\Principal\Main.java:30: cannot access Principal.JdbcConnection
bad class file: C:\sunda\Java\Principal\src\Principal\JdbcConnection.java
file does not contain class Principal.JdbcConnection
Please remove or make sure it appears in the correct subdirectory of the classpath.
           JdbcConnection conn = new JdbcConnection();
2 errors
FALHA NA EXECUÇÃO (tempo total: 2 segundos)

Eu procurei na pasta e o arquivo existe exatamente como o descrito.

Agradeço qq ajuda.

[/code]

Tu ja tentou compilar esta classe(JdbcConnection) para ver realmente não está com algum problema de compilação?Dar uma olhada nesse link(http://www.portaljava.com.br/home/modules.php?name=Content&pa=showpage&pid=38) e tenta usar para ver se resolve teu problema.E só curiosidade,tu ta utilizando qual IDE :roll: ?Tenta utilizar o eclipse ok pq nessas horas ele é uma mãe para mostrar esse tipos de erros. :grin:

Verifica então os nomes… tando do arquivo quanto ao nome da classe…

Letras maiusculas e minusculas fazem diferença…

O nome da classe tem que estar IGUAL ao do arquivo… e quando tu instancia… tb… o mesmo nome…

Abraços!

Pessoal tá dificil.

Me ajudem por favor!!! Eu tentei de tudo pra conseguir resolver esse problema, pela data vcs vao ver…

Não tenho mais como seguir em frente sem ajuda. Já vi em todas as pastas e nada!

Aceito alguma sugestão, dos moderadores e membros!

Obrigado! :sad:

se vc utilizar alguma IDE como o Eclipse, o seu problema ficara mais facil de resolver, pois a IDE ira indica-lo…

mas vamos lá…na pasta Principal, existe o arquivo JdbcConnection.class ??? se não existir, vc deve compilar o JdbcConnection.java

espero ter ajudado…

Então, eu to usando o NetBeans. Compilei, dentro da pasta java que eu tenho eu pesquisei pelo windows tudo o que tem main incluindo subpastas e ta tudo la. Mas o erro, esse continua o mesmo!!!

vc esta usando o NetBeans, e o proprio NetBeans nao acusa nenhum erro no seu codigo?

vc nao esta tentando executar isso pelo proprio NetBeans?

Então,


public class JdbcConnection { 
C:\sunda\Java\Principal\src\Principal\Main.java:30: cannot access Principal.JdbcConnection 
bad class file: C:\sunda\Java\Principal\src\Principal\JdbcConnection.java 
file does not contain class Principal.JdbcConnection 
Please remove or make sure it appears in the correct subdirectory of the classpath. 
           JdbcConnection conn = new JdbcConnection(); 
2 errors 
FALHA NA EXECUÇÃO (tempo total: 2 segundos) 

Esse é o erro do netbeans, mas nao condiz com a realidade

cara, seria mais fácil tu disponibilizar o código das classes, assim fica muito mais viável encontrar o erro e corrigi-lo pra você…

Pessoal, obrigado mas ja descobri a cagada que fiz. Em vez de criar o arquivo selecionando a opção classe, escolhi como arquivo .java

valeu mesmo pela atenção!

Pessoal,

Desculpa tá insistindo nesse tópico, mas é que ainda não entendi e não consegui colocar pra funcionar.


package principal;

import principal.ConnectionSQL;


public class Main {
    
    /** Creates a new instance of Main */
    public Main() {
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
         // TODO code application logic here
        ConnectionSQL conn = new ConnectionSQL();

    }
   
}

Dai eu tenho uma classe que se chama ConnectionSQL, não dá erro nenhum quando eu compilo, por outro lado não funciona! coloquei um System.out.println(“teste”) logo na primeira linha de programação dessa classe e não aparece, assim como não conecta, entao tô achando que essa linha ConnectionSQL conn = new ConnectionSQL(); apenas instancia a classe e não a executa.

Será que alguem por favor pode me ajudar??? :grin:

Abs!

Sunda, se no construtor padrão da classe ConnectionSQL tiver algum código ele irá executar com certeza, senão ele apenas irá instanciar a classe.

Então Carneiro,

Eu consegui fazer a classe funcionar. Não sei se voce usa o NetBeans. Tb não sei se eu fiz corretamente.

Eu tinha adicionado uma classe pelo netbeans mas diretamente dentro do projeto “principal”. Ficava no mesmo nivel do Main.

Dai eu cliquei no main com o botão direito e escolhi pra adicionar uma nova classe.

Ele criou como se fosse uma procedure dentro do proprio main, da seguinte maneira:

private static ConnectionSQL ConnectionSQL() {

Dai funcionou. Mas não seria correto ficar em outro arquivo e chama-lo de dentro do main? daqui a pouco meu main vai estar gigante!

Outra coisa: queria aproveitar a oportunidade pra explicar a todos a diferença de off-topic pra o tópico iniciantes. Neste aqui eu nao brinco, é só aprendizado mesmo.

Abs e Obrigado!