1. 程式人生 > >myeclipse 中使用junit 除錯jpa報錯 java.lang.NoClassDefFoundError: org/slf4j/helpers/NOPLoggerFactory

myeclipse 中使用junit 除錯jpa報錯 java.lang.NoClassDefFoundError: org/slf4j/helpers/NOPLoggerFactory

 java.lang.NoClassDefFoundError: org/slf4j/helpers/NOPLoggerFactory

原因是

slf4j-api-1.5.8
slf4j-nop-1.6.0

兩個包不相容造成的

下載最新的slf4j包

問題解決

統一使用

slf4j-api-1.6.3

下載地址

測試用類使用前加如junit-4.8.2.jar

package junit.test;

import javax.persistence.EntityManager;

import javax.persistence.EntityManagerFactory;

import javax.persistence.Persistence;

import org.junit.BeforeClass;

import org.junit.Test;

import com.itcast.bean.product.ProductType;

public class ProductTest {

    @BeforeClass

    public static void setUpBeforeClass() throws Exception {

    }

    /*

     * 新增單元測試點

     * (@Test) public void runtest()啟動JPA框架

     */

    @Test

    public void

runtest(){

       //(Persistence.createEntityManagerFactory(“實體bean集合名”); 由JPA規範,作為啟動JPA框架的入口點)

       EntityManagerFactory factory = Persistence.createEntityManagerFactory("itcast");

       EntityManager em =factory.createEntityManager();

       em.getTransaction().begin();

       em.persist(new ProductType());

       em.getTransaction().commit();

       em.close();

       factory.close();

    }

}