Dyeizon 29 de out. de 2020
Opa @Pehgamarra ,
Tenta realizar o comando com o J de Java minúsculo, e coloca um espaço entre a expressão -jar e o local do seu arquivo.
java -jar "seuarquivo.jar"
Pehgamarra 29 de out. de 2020
oq eu faço?
Pelo q eu entendi ele nao está conseguindo se conectar com o banco de dados… o Application.java:80 é quando realiza o conexao = Db.getConnection();…
Estou fazendo algo errado na hora de criar o arquivo?
staroski 29 de out. de 2020
O método loadProperties da classe Db não está encontrando o arquivo db.properties.
Como você está fazendo pra tentar carregar esse arquivo?
Pehgamarra 29 de out. de 2020
Sim, não está encontrando
“Como você está fazendo pra tentar carregar esse arquivo?” Eu tenho ele na pasta do programa também, mas não está indo…
O Sql está ativo, no eclipse funciona tudo certinho, conecta com o banco de dados numa boa.
staroski 29 de out. de 2020
Vou repetir a pergunta:
Como você está fazendo pra tentar carregar esse arquivo?
Isto é, como é o código Java que está lendo esse arquivo?
Pehgamarra 29 de out. de 2020
public static Connection getConnection () {
if ( conn == null ) {
try {
Properties props = loadProperties ();
String url = props . getProperty ( "dburl" );
conn = DriverManager . getConnection ( url , props );
} catch ( SQLException e ) {
throw new DbException ( e . getMessage ());
}
}
return conn ;
}
Pehgamarra 29 de out. de 2020
private static Properties loadProperties () {
try ( FileInputStream fs = new FileInputStream ( "db.properties" )) {
Properties props = new Properties ();
props . load ( fs );
return props ;
} catch ( IOException e ) {
throw new DbException ( e . getMessage ());
}
}
staroski 29 de out. de 2020
primeiro você tem que garantir que a pasta do arquivo db.properties esteja no classpath de sua aplicação:
java - cp < pastas a serem adicionadas ao classpath > - jar "seuarquivo.jar"
Depois mude a implementação para carregar assim:
private static Properties loadProperties () {
try ( InputStream is = getClass () . getResourceAsStream ( "/db.properties" )) {
Properties props = new Properties ();
props . load ( is );
return props ;
} catch ( IOException e ) {
throw new DbException ( e . getMessage ()); // Dica : não encontrar o arquivo não é uma DBexcption ...
}
}
Pehgamarra 29 de out. de 2020
eu coloquei e esta dando esse erro no getClass() >>Cannot make a static reference to the non-static method getClass() from the type Object
se eu coloco como nao static da erro no getConnection
staroski 29 de out. de 2020
Não vi que seu método é estático.
É só trocar o
por
Pehgamarra 29 de out. de 2020
C:\Users\Pedro>java -cp “C:\Users\Pedro\Desktop\gelaguela_lib” -jar “gelaguela.jar”
Error: Unable to access jarfile gelaguela.jar
Pehgamarra 29 de out. de 2020
staroski 29 de out. de 2020
java - cp .; gelaguela_lib ; gelaguela . jar seu . pacote . SuaClasseMain
Pehgamarra 29 de out. de 2020 1 like
Mano, muito obrigado consegui aqui… você ajudou demais…
ficou assim ó :
private static Properties loadProperties () {
try ( InputStream is = ApplicationView . class . getClassLoader () . getResourceAsStream ( “ db . properties ” )) {
Properties props = new Properties ();
props . load ( is );
return props ;
} catch ( IOException e ) {
throw new DbException ( e . getMessage ());
}
}