2015-10-12 76 views
1

我成立了一個的Arquillian測試來測試我的EJB和JPA層:的Arquillian沒有找到類

@RunWith(Arquillian.class) 
public class ClientTest { 

    @EJB 
    private ClientService client; 

    @Deployment 
    public static Archive<?> createDeployment() { 

     return ShrinkWrap.create(WebArchive.class, "test.war") 
       .addPackage(Client.class.getPackage()) 
       .addPackage(ClientService.class.getPackage()) 
       .addPackage(Client_.class.getPackage()) 
       .addAsLibrary(new File("C:\\...\\ojdbc6.jar")) 
       .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml") 
       .addAsManifestResource("test-persistence.xml", "persistence.xml"); 
    } 

    @Test 
    public void testCreate() { 
     Assert.assertNotNull("Client not null", client); 
     Client c = client.getClientById(1L); 
     assertNotNull(c); 
    } 
} 

現在,日誌告訴我,類找不到:

Okt 12, 2015 9:43:17 AM org.glassfish.weld.BeanDeploymentArchiveImpl handleEntry 
WARNUNG: Error while trying to load Bean Class WEB-INF.classes.com.xyz.aip.common.AbstractEntity : java.lang.ClassNotFoundException: WEB-INF.classes.com.xyz.aip.common.AbstractEntity 
Okt 12, 2015 9:43:17 AM org.glassfish.weld.BeanDeploymentArchiveImpl handleEntry 
WARNUNG: Error while trying to load Bean Class WEB-INF.classes.com.xyz.aip.common.AbstractEntity_ : java.lang.ClassNotFoundException: WEB-INF.classes.com.xyz.aip.common.AbstractEntity_ 

我看着生成的WAR文件,並且有一個

- META-INF 
- WEB-INF 
- classes 
    - com 
    - xyz 
    - aip 
    - common 
     - AbstractEntity.class 

任何想法?

+0

在其包'Client','ClientService'和'Client_'類? –

+0

,因爲我使用Client.class.getPackage())它應該是rigt之一?!或者我誤解了? – matthias

+0

也許是http://stackoverflow.com/questions/16437146/cannot-perform-cdi-in-glassfish-4-0或玻璃魚的其他錯誤的副本? 至少很奇怪'WEB-INF.classes'似乎是包的一部分 – user140547

回答

0

什麼,我會嘗試是:

.addPackage(Client.class.getPackage().getName())