Como eu faço para dentro de uma classe que pertence a um pacote eu fazer referência a outra classe deste mesmo pacote ?
somente import <nomedopacote.nomedaclasse>
não funciona?
Se a classe estiver dentro do mesmo diretório, você não precisa nem fazer o import!
Olha só: esta é a classe Incrementa que está dentro do diretório umpacote e cujo nome é Incrementa.class:**
package umpacote;
import java.io.;
import java.util.;
import java.sql.;
public class Incrementa {
public Incrementa() {
}
public int incrementa(String Tabela){
Connection con = Conexao.conectar();
int codigo=0;
try {
Statement stm = con.createStatement();
ResultSet dados=stm.executeQuery("SELECT MAX(Id) as Ultimo FROM "+Tabela);
if (!dados.next())
codigo=1;
else
codigo=dados.getInt("Ultimo") + 1;
Conexao.desconectar(con);
}
catch (Exception e) {
System.out.println("Erro no incremento do ID:"+e.toString());
Conexao.desconectar(con);
}
return codigo;
}
}
Olha só: esta é a classe Conexao que está dentro do diretório umpacote e cujo nome é Conexao.class:*
package umpacote;
import java.io.;
import java.util.;
import java.sql.;
public class Conexao
{
public Conexao()
{
}
/**
@roseuid 3E31779F033E
/
public static Connection conectar()
{ Connection con;
try {
String sHost = "10.30.2.15"; // The local machine ( SEFAZDESENV )
String sConnect = "jdbc:freetds:sqlserver://"+sHost+":1433/fac";
Class.forName("com.internetcds.jdbc.tds.Driver");
con = DriverManager.getConnection(sConnect,"sa","");
}
catch(SQLException e){
e.printStackTrace();
return null;
}
catch(ClassNotFoundException e){
e.printStackTrace();
return null;
}
return con;
}
/*
@roseuid 3E3177A50032
/
public static void desconectar(java.sql.Connection con)
{
try {
con.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}
Agora pq quando eu vou compilar a classe Incrementa ocorre este erro:*****
C:jspfacumpacoteIncrementa.java:14: cannot resolve symbol
symbol : variable Conexao
location: class umpacote.Incrementa
Connection con = Conexao.conectar();
^
C:jspfacumpacoteIncrementa.java:24: cannot resolve symbol
symbol : variable Conexao
location: class umpacote.Incrementa
Conexao.desconectar(con);
^
C:jspfacumpacoteIncrementa.java:28: cannot resolve symbol
symbol : variable Conexao
location: class umpacote.Incrementa
Conexao.desconectar(con);
^
3 errors
2 error(s)
Bom, você tentou compilar as duas classes juntas? javac *.java no diretório umpacote? O seu erro me parece ter surgido por tentar compilar apenas a classe Incrementa sem compilar a classe Conexao junto.
Se você tentou javac * e mesmo assim não deu, pode ainda ser problema do seu CLASSPATH. Se estiver usando GNU/Linux, tente, dentro do diretório umpacote, executar javac -cp $CLASSPATH:. *.java (o "." é o diretório atual, assim você estará dizendo ao compilador java pra procurar as classes referenciadas também neste diretório).