2016-10-28 5 views
0

Je ne peux pas faire Arquillian et Websphere intégré EJBContainer travail bien ensemble. Parce que je ne peux pas utiliser le fichier Jar arquillian-was-embedded-8 (Manquant dans le dépôt Société Maven et Jenkins).Arquillian ne peut pas charger LoadableExtension pour Websphere embarqué Conteneur

Je tente de charger le WebSphereExtension (LoadableExtension) dans mon test Junit sans succès. Quelqu'un peut-il me diriger vers la bonne solution?

Ma deuxième question est, même si je charge ce fichier jar localement dans mon IDE j'ai aussi des problèmes avec l'interface (sur mes EJB). Voir le même problème ici: [arquillian-was-embedded-8 runs but can't inject EJB. NullPointerException Comment puis-je éviter cela?

Mes Maven Dépendances:

<dependency> 
      <groupId>com.ibm.websphere</groupId> 
      <artifactId>com.ibm.ws.ejb.embeddableContainer</artifactId> 
      <version>8.0.0.11</version> 
     <scope>test</scope> 
    </dependency>  
<dependency> 
      <groupId>com.ibm.websphere</groupId> 
      <artifactId>endorsed_apis</artifactId> 
      <version>8.0.0.11</version> 
     <scope>test</scope> 
    </dependency>  
<dependency> 
      <groupId>org.jboss.arquillian</groupId> 
      <artifactId>arquillian-bom</artifactId> 
      <version>1.1.4.Final</version> 
      <type>pom</type> 
      <scope>import</scope> 
    </dependency>  
    <dependency> 
      <groupId>org.jboss.arquillian</groupId> 
      <artifactId>arquillian-build</artifactId> 
      <version>1.1.4.Final</version> 
      <type>pom</type> 
      <scope>import</scope> 
    </dependency>  
<dependency> 
     <groupId>org.jboss.arquillian.container</groupId> 
     <artifactId>arquillian-container-spi</artifactId> 
    <version>1.1.4.Final</version>   
     <scope>test</scope> 
    </dependency>     
    <dependency> 
     <groupId>org.jboss.arquillian.junit</groupId> 
     <artifactId>arquillian-junit-container</artifactId> 
    <version>1.1.4.Final</version>   
     <scope>test</scope> 
    </dependency> 

Java 6, Junit 4,12, IDE Luna 4.4.2

vous remercie à l'avance, je l'apprécierais beaucoup

Répondre

1

J'ai trouvé la solution. Je n'ai pas besoin de construire les artefacts si je l'utilise dans src/test/resources/META-INF/services/org.jboss.arquillian.core.spi.LoadableExtension (c'est un nom de fichier) avec le contenu ->/path/to/WebSphereExtension

Le deuxième problème que je résous comme ceci:

@EJB (mappedName = "java: global/test/MyEjbTest com.home.coem.Processor!"

Processeur test1;

processeur est le nom de l'interface et MyEjbTest est la fève de mise en œuvre!

J'espère que cela aidera quelqu'un

+1

WebSphere Application Server n'utilise jamais 'mappedName'. Si cela a un effet, je doute en quelque sorte que vous utilisiez réellement le conteneur intégrable WebSphere. –

+0

Salut Brett, Dans la classe LoadableExtension, vous disposez d'une méthode de registre que vous pouvez remplacer. Ici, vous pouvez appeler WebSphereEmbeddedContainer. – smarra