drix
Junho 16, 2006, 4:47pm
#1
Por favor, estou desenvolvendo um projeto desktop simples a carater de treinamento, utlizando hibernate e banco de dados Firebird, na IDE Eclipse.
Dentro do Eclipse, funciona normal. Contudo, quando executo fora esta dando este erro:
C:\java>java -jar hbbin.jar
Exception in thread “main” java.lang.ExceptionInInitializerError
at AmigoDAO.(AmigoDAO.java:14)
at TesteAmigo.main(TesteAmigo.java:10)
Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.NoSuc
hFieldError: level (Caused by java.lang.NoSuchFieldError: level)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory
Impl.java:53
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory
Impl.java:235)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactory
Impl.java:209)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
at org.hibernate.cfg.Configuration.(Configuration.java:116)
… 2 more
Caused by: java.lang.NoSuchFieldError: level
at org.apache.log4j.spi.RootLogger.setLevel(RootLogger.java:65)
at org.apache.log4j.spi.RootLogger.(RootLogger.java:44)
at org.apache.log4j.LogManager.(LogManager.java:7
at org.apache.log4j.Logger.getLogger(Logger.java:103)
at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.jav
a:229)
at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:6
5)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactory
Impl.java:529)
… 6 more
Estou gerando o JAR com o plug-in Fat Jar.
O que pode ser? Alguma solução?
Pelo stack trace, dá a impressão de que o construtor da classe AmigoDAO, na linha 14 de AmigoDAO.java, chama a inicialização do commons-logging, e está se deparando com um erro de não achar o campo “level”.
Pode ser alguma coisa como incluir alguma das bibliotecas do Hibernate, Log4J ou commons-logging com versão diferente do que você tem no seu ambiente do Eclipse. Ou então não estar corretamente configurado o arquivo de configuração do commons-logging.
Não sei o que o “Fat Jar” pode ter feito. (Pode ser que ele não tenha incluído um xml importante, ou então que o commons-logging não consiga ler a configuração a partir de um JAR - não sei o que pode ter ocorrido na realidade.)
clever
Fevereiro 24, 2010, 12:04pm
#3
Oi, estou com o mesmo problema adicionei o jar e nao resolveu.
paribe
Abril 16, 2013, 8:42pm
#4
como configurei o arquivo do spring…
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan base-package="br.com.caelum.tarefas" />
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="mysqlDataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
</beans>