Lorsque vous essayez de lancer un build Maven (mvn clean install
) pour tester mon intégration, les tests, j'ai obtenu l'erreur suivante:Orika échoue lors de l'essai de Maven, mais pas dans Eclipse
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.219 s <<< FAILURE! - in com.ots.gateway.service.OtsMobTokensServiceTest
[ERROR] testFindByOttNumber(com.ots.gateway.service.OtsMobTokensServiceTest) Time elapsed: 0.219 s <<< ERROR!
ma.glasnost.orika.MappingException: 'destinationClass' is required
at com.ots.gateway.service.OtsMobTokensServiceTest.testFindByOttNumber(OtsMobTokensServiceTest.java:26)
JDK: jdk1.8.0_144
Maven: apache-maven-3.2.5
Orika: 1.5.1
Je crois qu'il se passe en raison de l'utilisation d'Orika. Quelqu'un peut-il aider s'il vous plaît?
Mon code:
/**
* Maps a source object(Entity or DTO) to its matching target(Entity or DTO).
*
* @param <T> the generic type
* @param o - entity or dto
* @return the t
*/
@SuppressWarnings("unchecked")
protected <T extends Object> T map(Object o) {
T mappedObject = null;
Mapper mapperProvider = mapperFactory.createMapper(o);
try {
if (SanityCheck.isValid(mapperProvider)) {
mappedObject = (T) mapperProvider.map(o);
} else {
if(SanityCheck.isValid(o)){
LOGGER.error("No Mapper found for object: " + o.getClass().getName() + " Service: "
+ this.getClass().getName());
}
}
} catch (ClassCastException e) {
LOGGER.error("Casting error", e);
}
return mappedObject;
}
C'est en effet dû à la façon dont vous faites le mapping avec Orika, mais il est difficile de vous donner une réponse sans voir votre code. Il semble que vous ne fournissiez pas la classe de destination du mappage. –