Fórum dúvida referente a aula 2 - problemas com a aplicação #14027
13/01/2010
0
hibernate-3.3.1.GA inseri as seguints bibliotecas desta versão:
hibernate-3.3.1.GA/hibernate3.jar; hibernate-3.3.1.GA/lib/required/antlr-2.7.6.jar;hibernate-3.3.1.GA/lib/required/commons-collections-3.1.jar;hibernate-3.3.1.GA/lib/required/dom4j-1.6.1.jarhibernate-3.3.1.GA/lib/required/javassist-3.4.GA.jar;hibernate-3.3.1.GA/lib/required/jta-1.1.jar;hibernate-3.3.1.GA/lib/required/slf4j-api-1.5.2.jar;hibernate-3.3.1.GA/lib/bytecode/cglib/hibernate-cglib-repack-2.1_3.jar;hibernate-3.3.1.GA/lib/bytecode/javassist/javassist-3.4.GA.jar;hibernate-3.3.1.GA/lib/optional/c3p0/c3p0-0.9.1.jar
hibernate-annotations-3.4.0.GA bibliotecas inseridas:hibernate-annotations-3.4.0.GA/hibernate-annotations.jar;hibernate-annotations-3.4.0.GA/lib/ejb3-persistence.jar;hibernate-annotations-3.4.0.GA/lib/hibernate-commons-annotations.jar
hibernate-entitymanager-3.4.0.GA bibliotecas inseridas:hibernate-entitymanager-3.4.0.GA/hibernate-entitymanager.jar;hibernate-entitymanager-3.4.0.GA/lib/test/antlr.jar;hibernate-entitymanager-3.4.0.GA/lib/test/asm-attrs.jar;hibernate-entitymanager-3.4.0.GA/lib/test/asm.jar;hibernate-entitymanager-3.4.0.GA/lib/test/cglib.jar;hibernate-entitymanager-3.4.0.GA/lib/test/log4j.jarE inseri tambem a biblioteca Driver do JavaDB.
Utilizo o netbeans versão 6.5 e ao compilar o programa apareceu a seguinte mensagem de erro:
"run:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:151)
at firsthibernateapp.Main.main(Main.java:23)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 3 more
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)"
Refiz os codigos das duas aulas novamente e aparece o mesmo erro. O que posso fazer para corrigir esta falha e continuar assistindo as vídeos aulas?
Desde já agradeço.
Marcos Sousa
Curtir tópico
+ 0Posts
14/01/2010
Dyego Carmo
Baixe ela diretamente aqui : http://www.slf4j.org/dist/slf4j-1.5.2.zip
E adicione os seguintes arquivos deste ZIP no seu CLASSPATH:
slf4j-log4j12-1.5.2.jar
slf4j-api-1.5.2.jar
log4j-over-slf4j-1.5.2.jar
E teste denovo ...
Ou tente baixar uma versao mais atual do hibernate (que ele jah corrigiram isto)
Valeu !
Gostei + 0
14/01/2010
Dyego Carmo
Gostei + 0
14/01/2010
Marcos Sousa
lf4j-simple-1.5.2.jarDepois de inseridas as demais bibliotecas e ter compilado o programa novamente apareceu a seguinte mensagem de erro:
" log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - non-static method openSession() cannot be referenced from a static context
at firsthibernateapp.Main.main(Main.java:40)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 13 segundos)
"
No código da classe main logo após a criação da sessionFactory
" SessionFactory sf = new AnnotationConfiguration()
.setProperty("hibernate.dialect","org.hibernate.dialect.DerbyDialect")
.setProperty("hibernate.connection.driver_class", "org.apache.derby.jdbc.ClientDriver")
.setProperty("hibernate.connection.url","jdbc:derby://localhost:1527/testhibernate")
.setProperty("hibernate.connection.username", "test")
.setProperty("hibernate.connection.password", "test")
.setProperty("hibernate.show_sql", "true")
.setProperty("hibernate.format_sql", "true")
.setProperty("hibernate.c3p0.acquire_increment", "1")
.setProperty("hibernate.c3p0.idle_test_period", "100")
.setProperty("hibernate.c3p0.max_size", "10")
.setProperty("hibernate.c3p0.max_statements", "0")
.setProperty("hibernate.c3p0.min_size", "5")
.setProperty("hibernate.c3p0.timeout", "100")
.addAnnotatedClass(Users.class)
.buildSessionFactory();"
Aparece um erro na seguinte linha do codigo:
Session session = SessionFactory.openSession();
Ao passar o mouse pela seguinte linha de codigo a seguinte mensagem e disparada:
"erro non-static method openSession() cannot be referenced from a static context"
Este erro tambem tem alguma relação com a falta de algumas bibliotecas?
Em sua mensagem voce cita a possibilidade de utilizar outra versão do hibernate core. Neste caso qual versão do hibernate posso incluir no projeto para sanar estes problemas? Eu tenho o hibernate-distribution-3.3.2.GA.
Desde já agradeço pelo apoio.
Gostei + 0
16/01/2010
Dyego Carmo
Marcos,
Muito estranho , experiemente colocar TODAS as bibliotecas que vem nos diretorios LIB tanto do hibernate quando do entitymanager , e teste...
Baixe a versao mais atualizada dos dois tmb...
Mas tome cuidado... pois as versoes entre estas bibliotecas podem ser incompativeis...
verifique a compatibilidade entre versoes aqui:
https://www.hibernate.org/6.html#A3
e me avise qualquer coisa...
Gostei + 0
16/01/2010
Marcos Sousa
slf4j-log4j12-1.5.2.jar
slf4j-api-1.5.2.jar
log4j-over-slf4j-1.5.2.jar Ao executar novamente o projeto a seguinte mensagem de erro foi apresentada: “run: log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version). log4j:WARN Please initialize the log4j system properly. Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - non-static method openSession() cannot be referenced from a static context at firsthibernateapp.Main.main(Main.java:40) Java Result: 1 CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)” O que devo fazer para corrigir este problema? Desde já agradeço pelo apoio.
Gostei + 0
17/01/2010
Dyego Carmo
Gostei + 0
18/01/2010
Dyego Carmo
Testou ?
Gostei + 0
19/01/2010
Marcos Sousa
http://paste-it.net/public/c6af026/
Logo apos compilar o codigo apareceu a seguinte mensagem de erro:
http://paste-it.net/public/d03b79d/Fiz com isso um outro procedimento que não tinha feito antes. Fui na aba serviços, cliquei com o botão direito em cima do banco testhibernate criado na aula 1 e pedi para conectar. Ao compilar novamente o projeto, ele apresentou alguns erros mais rodou a aplicação. Veja o resultado:
http://paste-it.net/public/v1f69c0/O que deve estar acontecendo com a aplicação. Esqueci algum JAR ou fiz alguma coisa errada na criação das tabelas na primeira aula.
As tabelas que criei foram:
invoice;invoice_itens;users;productsAs views criadas são:
testeview;numberofitenswithamounthigtherDesde já agradeço pelo apoio.
Gostei + 0
19/01/2010
Dyego Carmo
O erro que voce obteve foi porque o banco de dados nao estava no ar , quando voce conectou nele o proprio NetBeans deu start nele... depois disso tudo funcionou perfeitamente...
Esta tudo OK.... :)
as mensagens que vc recebeu de warnings nao eh para se preocupar , manda bala que esta tudo certinho...
Valeu !
ps: posso fechar o chamado ?
Gostei + 0
19/01/2010
Marcos Sousa
Gostei + 0
26/01/2010
Dyego Carmo
Sempre deixo iniciado o banco de dados antes de rodar qualquer coisa... pois ele tem que estar no ar para acessar os dados...
Qualquer coisa estamos ai !
Gostei + 0
29/01/2010
Marcos Sousa
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)