Erro spring - entityManagerFactory

Pessoal, estou aprendendo spring fazendo um projeto de um livro.
Aparentemente configurei tudo certo, mas dá erro ao tentar executar o JUnit para testar se o banco está funcionando.
Perdi muito tempo procurando e não consegui achar o erro. Se alguém tiver uma pista, agradeço.

Entre outros jars, está adicionado o spring.jar , spring-test-2.5.6.jar e junit-4.4.jar
Parece que não está encontrando o entityManagerFactory da API.
Segue os arquivos de configuração.

applicationContext.xml –> na pasta src

[code]<?xml version="1.0" encoding="UTF-8"?>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
	<property name="persistenceUnitName" value="ecommerce"/>
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
	<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<tx:annotation-driven/>

<bean id="categoriaDao" class="br.com.integrator.dao.imp.CategoriaDaoImp"/>
<bean id="produtoDao" class="br.com.integrator.dao.imp.ProdutoDaoImp"/>
<bean id="pedidoDao" class="br.com.integrator.dao.imp.PedidoDaoImp"/>
<bean id="itensPedidoDao" class="br.com.integrator.dao.imp.ItensPedidoDaoImp"/>
<bean id="usuarioDao" class="br.com.integrator.dao.imp.UsuarioDaoImp"/>

[/code]
persistence.xml –> na pasta src/META-INF

[code]

<persistence-unit name="ecommerce">
	<provider>org.hibernate.ejb.HibernatePersistence</provider>
	<properties>
		<property name="hibernate.archive.autodetection" value="class,hbm"/>
		<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
		<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
		<property name="hibernate.connection.url" value="jdbc:mysql://localhost/ecommerce"/>
		<property name="hibernate.connection.username" value="USUARIO"/>
		<property name="hibernate.connection.password" value="SENHA"/>
		
		<property name="hibernate.show_sql" value="true"/>
		<property name="hibernate.format_sql" value="true"/>
		<property name="use_sql_comments" value="true"/>
	</properties>
</persistence-unit>

[/code]
A classe de teste: TestCategoriaDao

[code]package br.com.integrator.dao.tests;

import static org.junit.Assert.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import br.com.integrator.dao.CategoriaDao;
import br.com.integrator.entities.Categoria;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={“classpath:**/applicationContext.xml”})
public class TestCategoriaDao {

private CategoriaDao categoriaDao;
private Integer id=1;

@Resource
public void setCategoriaDao(CategoriaDao categoriaDao){
	this.categoriaDao = categoriaDao;
}

@Test
public void testAtualizar() {
	Categoria categoria = categoriaDao.pesquisarPorId(id);
	categoria.setCatNome("Teste 2");
	categoria = categoriaDao.atualizar(categoria);
	assertNotNull(categoria);
	assertEquals("Teste 2", categoria.getCatNome());
}

private Categoria getCategoria(){
	Categoria categoria = new Categoria();
	categoria.setCatNome("Teste");
	return categoria;
}

@Test
public void testExcluir() {
	Categoria categoria = categoriaDao.pesquisarPorId(id);
	categoriaDao.excluir(categoria);
	assertNotNull(categoriaDao.pesquisarPorId(id));
}

@Test
public void testPesquisarPorId() {
	fail("Not yet implemented");
}

@Test
public void testSalvar() {
	Categoria categoria = null;
	categoria = categoriaDao.salvar(getCategoria());
	assertNotNull(categoria);
	assertEquals(id, categoria.getId());
	assertEquals("Teste", categoria.getCatNome());
}

@Test
public void testTodos() {
	List<Categoria> categorias = categoriaDao.todos();
	assertNotNull(categorias);
	assertEquals(1, categorias.size());
	assertEquals("Teste 2", categorias.get(0).getCatNome());
}

@Test
public void testListPesqParamStringMapOfStringObject() {
	fail("Not yet implemented");
}

@Test
public void testListPesqParam() {
	Map<String, Object> params = new HashMap<String, Object>();
	params.put("id", id);
	List<Categoria> categorias = categoriaDao.listPesqParam("SELECT p FROM Categoria p WHERE p.id=:id", params);
	assertNotNull(categorias);
	assertEquals(1, categorias.size());
	assertEquals("Teste 2", categorias.get(0).getCatNome());
}

@Test
public void testListPesq() {
	fail("Not yet implemented");
}

@Test
public void testPesqParam() {
	Map<String, Object> params = new HashMap<String, Object>();
	params.put("id", id);
	Categoria categoria = categoriaDao.pesqParam("SELECT p FROM Categoria p WHERE p.id=:id", params);
	assertNotNull(categoria);
	assertEquals("Teste 2", categoria.getCatNome());
}

}[/code]

[color=red]Parte d0 log de erro[/color]
23:24:45,139 ERROR TestContextManager:258 - Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@18bbc5a] to prepare test instance [br.com.integrator.dao.tests.TestCategoriaDao@facf0b]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:201)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:255)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:111)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:148)
at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:97)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in file [C:\Users\Marcio\workspace\workspaceLivroJSFEclipseJbossTools\Model\bin\applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: br/com/integrator/entities/IPedidoPK (wrong name: br/com/integrator/entities/IPedidoPk)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:217)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:42)
at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:173)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:197)
… 17 more
Caused by: java.lang.NoClassDefFoundError: br/com/integrator/entities/IPedidoPK (wrong name: br/com/integrator/entities/IPedidoPk)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:112)
at org.hibernate.ejb.Ejb3Configuration.classForName(Ejb3Configuration.java:1041)
at org.hibernate.ejb.Ejb3Configuration.addNamedAnnotatedClasses(Ejb3Configuration.java:1113)
at org.hibernate.ejb.Ejb3Configuration.addClassesToSessionFactory(Ejb3Configuration.java:905)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:792)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:416)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:227)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:273)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1367)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1333)
… 33 more
23:24:45,310 ERROR TestContextManager:258 - Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@18bbc5a] to prepare test instance [br.com.integrator.dao.tests.TestCategoriaDao@1a001ff]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:201)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:255)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:111)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:148)
at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:97)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in file [C:\Users\Marcio\workspace\workspaceLivroJSFEclipseJbossTools\Model\bin\applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: br/com/integrator/entities/IPedidoPK (wrong name: br/com/integrator/entities/IPedidoPk)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)