0

Existe-t-il des restrictions concernant l'utilisation de bibliothèques externes avec des adaptateurs Java dans IBM MobileFirst 8.0?IBM MobileFirst Adapters avec bibliothèques externes

Quand j'ajouté guava mon code ont aucune erreur (adaptateur mfpdev construire le succès), mais lors du déploiement sur mon serveur, il répond avec l'erreur:

[ERROR] Failed to execute goal com.ibm.mfp:adapter-maven-plugin:8.0.2016082422:deploy (default-cli) on project X: The output of /mfpadmin/management-apis/2.0/runtimes/mfp/adapters is of type text/html, which is unsupported. Expected an output of type text/xml or application/xml or application/json. -> [Help 1] 

Mais lorsque je supprime goyave pom (dépendances mvn) I suis capable de déployer l'adaptateur. Problème que je peux voir arriver à d'autres bibliothèques aussi. Est-il possible d'utiliser de telles bibliothèques?

mfpdev -v: 8.0.0-2017012016

EDIT: Je problème finalement résolu par la mise en place pour la goyave dans le fichier pom:

<scope>provided</scope> 
+0

Comment l'avez-vous ajouté dans pom.xml? –

+0

Par dépendances mvn. ' com.google.guava goyave 21,0 ' – 3squad

Répondre

0

J'ai essayé dans mon environnement MFP 8.0 et ne vois pas de problème.

mfpdev -v 
8.0.0-2017012016 

0. Create a sample Java adapter "mfpdev adapter create" 
1. Added dependency with guava 21 in pom.xml 
<dependency> 
<groupId>com.google.guava</groupId> 
<artifactId>guava</artifactId> 
<version>21.0</version> 
</dependency> 

2. added a simple guava package and used it. 

import com.google.common.base.Optional; 

@GET 

     @Produces(MediaType.TEXT_PLAIN) 
     public String getResourceData() { 
       // log message to server log 
       logger.info("Logging info message..."); 
       Integer invalidInput = new Integer(20); 
     Optional<Integer> a = Optional.of(Input); 
     Optional<Integer> b = Optional.of(new Integer(10)); 
     logger.info("Logging my message with guava"); 
    ); 
     return "Hello from guava resource "+sum(a,b) ; 
     } 

4. build, deploy went successful 

5. Access above resource 

Request URL 

http://localhost:9080/mfp/api/adapters/testGuavaAdapter/resource 

Response Body 

Hello from guava resource 30 

Response Code 

200 

Response Headers 

{ 
    "x-powered-by": "Servlet/3.1", 
    "content-type": "text/plain", 
    "date": "Thu, 08 Jun 2017 11:48:32 GMT", 
    "content-length": "28" 
} 

Vérifiez cette pom travailler contre votre environnement.

+0

Mon problème se produit toujours quand j'ai la goyave en dépendance, même si je ne l'utilise pas en code java. Si je commente la dépendance pour la goyave, je suis capable de déployer l'adaptateur sans problème, mais quand j'ajoute cette dépendance je ne peux pas. '' – 3squad

+0

comme vous le voyez ci-dessus, j'ai ajouté la dépendance et cela fonctionne, la version du serveur MFP I hv utilisé est le dernier MFP8 Version du produit: 8.0.0.00-20170412-235541. Pouvez-vous confirmer la version du serveur MFP utilisée et si vous ajoutez des dépendances de la même manière que hv dans pom.xml? –

+0

sûr que je crois. J'ai finalement résolu le problème en définissant la portée: fournie pour la dépendance. – 3squad