IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Boot Java Discussion :

Utiliser un projet Spring Boot comme dépendance dans un autre projet Spring Boot


Sujet :

Spring Boot Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2016
    Messages : 25
    Points : 32
    Points
    32
    Par défaut Utiliser un projet Spring Boot comme dépendance dans un autre projet Spring Boot
    Bonsoir,

    Comme le titre l'indique je voudrais utiliser un projet spring boot de type "java application Maven" comme dépendance dans un autre projet spring boot "java web application maven". Mais le soucis est que j'obtiens cette erreur:

    Caused by: java.lang.RuntimeException: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration$TransactionManagementConfiguration]; nested exception is java.lang.IllegalArgumentException: class org.springframework.transaction.annotation.TransactionManagementConfigurationSelector is not assignable to interface org.springframework.context.annotation.ImportSelector
    Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration$TransactionManagementConfiguration]; nested exception is java.lang.IllegalArgumentException: class org.springframework.transaction.annotation.TransactionManagementConfigurationSelector is not assignable to interface org.springframework.context.annotation.ImportSelector
    Caused by: java.lang.IllegalArgumentException: class org.springframework.transaction.annotation.TransactionManagementConfigurationSelector is not assignable to interface org.springframework.context.annotation.ImportSelector"}}
    Voici le code susceptible de poser cette erreur; la classe de configuration du projet "java application":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Configuration
    @EnableAutoConfiguration
    @EntityScan(basePackages = {"com.nhit.dev.entities"})
    @EnableJpaRepositories(basePackages = {"com.nhit.dev.repositorydao"})
    @ComponentScan(basePackages = {"com.nhit.dev.MetierImpl"})
    @EnableTransactionManagement
    public class ConfigurationMetier {
     
    }
    et la classe de configuration du projet "java web application":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @Configuration
    //@EnableAutoConfiguration
    //@Import(value = {
    //        ConfigurationMetier.class
    //} )
    @ImportResource(
        { 
            "classpath:META-INF/cxf/cxf.xml" 
        })
    @ComponentScan
    public class MyConfig extends SpringBootServletInitializer{
    }
    Comment pourrais-je reparer ça et le faire propre?
    Merci de votre éventuelle aide!

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2016
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2016
    Messages : 25
    Points : 32
    Points
    32
    Par défaut Solution
    bonjour,

    tout ce que j'ai eu à faire est de faire pointer la classe "MyConfig" du projet web vers la porte d'entrée du projet "java application" qui est le package contenant la classe principale de ce projet. De manière pratique, on obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    @Configuration
    @ImportResource({"classpath:META-INF/cxf/cxf.xml"})
    @ComponentScan(basePackages ={"com.nhit.dev"})
    public class MyConfig extends SpringBootServletInitializer{...}
    et la classe "ConfigurationMetier" est supprimée, puisque la classe Main du projet "java application" est déjà annotée @SpringBootApplication et configure ainsi tous les composants spring qu'il contient

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/04/2013, 16h42
  2. Utiliser un recorset comme source dans un autre recordset
    Par strike57 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/04/2009, 04h17
  3. Wascana, utilisation de classe dans un autre projet
    Par BugBunny dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 04/10/2008, 12h07
  4. utiliser une liste comme colonne dans une autre liste
    Par ahmedmido dans le forum SharePoint
    Réponses: 1
    Dernier message: 15/07/2008, 09h42
  5. Utilisation d'un projet War dans un autre projet War
    Par helios2092 dans le forum Maven
    Réponses: 8
    Dernier message: 23/05/2008, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo