Configuração Spring por annotation[RESOLVIDO]

Boa tarde gelera,

Criei uma classe de configuração do Spring por annotation e estou tendo problemas com a configuração do JPADialect, com esse erro nem o mapeamento esta sendo executado…
Como é uma implementação para meu TCC, Estou fazendo tal configuração para implantar o Spring no Java SE…

minha classe esta desta forma…

package br.com.goestecnologia.gerenciadorexpresso.util;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import org.hibernate.dialect.PostgreSQLDialect;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.Database;
import org.springframework.orm.jpa.vendor.HibernateJpaDialect;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;

/**
 *
 * @author FernandoGodoy
 */
@Configuration
public class SpringConfiguration {

    @Bean(name = "dataSource", destroyMethod = "close")
    public ComboPooledDataSource comboPooledDataSource() {
        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
        try {

            comboPooledDataSource.setDriverClass("org.postgresql.Driver");
            comboPooledDataSource.setJdbcUrl("jdbc:postgresql://localhost:5432/myAplication");
            comboPooledDataSource.setUser("postgres");
            comboPooledDataSource.setPassword("postgresql");
        } catch (PropertyVetoException ex) {
            ex.printStackTrace();
        }
        return comboPooledDataSource;
    }

    @Bean
    public HibernateJpaDialect hibernateJpaDialect() {        
        return new HibernateJpaDialect();
    }

    @Bean
    public HibernateJpaVendorAdapter hibernateJpaVendorAdapter() {
        HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
        PostgreSQLDialect postgreSQLDialect = new PostgreSQLDialect();      
        hibernateJpaVendorAdapter.setDatabasePlatform(postgreSQLDialect.toString());
        hibernateJpaVendorAdapter.setShowSql(true);
        hibernateJpaVendorAdapter.setGenerateDdl(true);  
        hibernateJpaVendorAdapter.setDatabase(Database.POSTGRESQL);              
        return hibernateJpaVendorAdapter;
    }

    @Bean(name = "entityManagerFactory")
    public EntityManagerFactory localContainerEntityManagerFactoryBean() {
        LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
        localContainerEntityManagerFactoryBean.setDataSource(comboPooledDataSource());
        localContainerEntityManagerFactoryBean.setJpaDialect(hibernateJpaDialect());
        localContainerEntityManagerFactoryBean.setJpaVendorAdapter(hibernateJpaVendorAdapter());
        localContainerEntityManagerFactoryBean.setPersistenceXmlLocation("classpath:/META-INF/persistence.xml");
        localContainerEntityManagerFactoryBean.setPersistenceUnitName("persistence.xml");
        Properties properties = new Properties();
        properties.put("hibernate.format_sql", "true");
        properties.put("hibernate.show_sql", "true");
        properties.put("hibernate.generate_statistics", "true");
        properties.put("hibernate.c3p0.max_size", "10");
        properties.put("hibernate.c3p0.min_size", "2");
        properties.put("hibernate.c3p0.timeout", "5000");
        properties.put("hibernate.c3p0.max_statements", "50");
        properties.put("hibernate.c3p0.idle_test_period", "3000");
        properties.put("hibernate.c3p0.acquire_increment", "2");
        properties.put("hibernate.default_batch_fetch_size", "10");
        properties.put("hibernate.cache.use_second_level_cache", "true");
        properties.put("hibernate.use_outer_join", "false");
        properties.put("hibernate.query.jpaql_strict_compliance", "true");
        properties.put("hibernate.hbm2ddl.auto", "update");
        localContainerEntityManagerFactoryBean.setJpaProperties(properties);
        localContainerEntityManagerFactoryBean.afterPropertiesSet();
        return localContainerEntityManagerFactoryBean.getObject();
    }

    @Bean(name = "transactionManager")
    public JpaTransactionManager jpaTransactionManager() {
        JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
        jpaTransactionManager.setEntityManagerFactory(localContainerEntityManagerFactoryBean());
        jpaTransactionManager.setJpaDialect(hibernateJpaDialect());
        jpaTransactionManager.afterPropertiesSet();
        return jpaTransactionManager;
    }

  
}

Quando executo ocorre o seguinte erro…

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/springframework/orm/jpa/JpaDialect
	at br.com.goestecnologia.gerenciadorexpresso.view.Principal$3.run(Principal.java:121)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
	at java.awt.EventQueue.access$000(EventQueue.java:84)
	at java.awt.EventQueue$1.run(EventQueue.java:602)
	at java.awt.EventQueue$1.run(EventQueue.java:600)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.springframework.orm.jpa.JpaDialect
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	... 15 more

Estou utilizando o Maven e verifiquei nas dependencias e todas estão devidamente declaradas…

Dois dias com este erro e nada de arrumar uma solução…

Alguem poderia me dar uma luz ae ??

Agradeço desde já!!!

Vc verificou se existe este jar “spring-jpa.jar” no projeto!?

Sim sim, Verifiquei sim…

Esta declarado este ai!

 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jpa</artifactId>
            <version>2.0.8</version>          
            <scope>provided</scope>
 </dependency>

Consigui resolver o problema…
Como para programar pra JavaEE eu coloco todas as libs dentro do glassfish, acabo declarando elas como provider com isso quando acaba-se criando um WAR menor.

No JavaSE é necessario que eleas fiquem no classpath…
Basta mudar de provader pra compile… e resolvido o problema…