J'ai un code fonctionnel qui cesse de fonctionner lorsque je passe de la version Spring Boot 2.0.3.RELEASE
à la version 2.1.0.BUILD-SNAPSHOT
.
Parfois, l'erreur est la suivante :
Erreur au démarrage de l'application. Pour afficher le rapport sur les conditions, relancez votre application avec 'debug' activé.
***************************
ÉCHEC DE L'APPLICATION
***************************
Description :
Le bean 'dataSource', défini dans la définition de Bean du fichier de configuration de chemin de classe [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class], n'a pas pu être enregistré. Un bean portant ce nom a déjà été défini dans le fichier de configuration de chemin de classe [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class] et le remplacement est désactivé.
Action :
Envisagez de renommer l'un des beans ou d'activer le remplacement en définissant spring.main.allow-bean-definition-overriding=true
ou...
Erreur au démarrage de l'application. Pour afficher le rapport sur les conditions, relancez votre application avec 'debug' activé.
2018-07-16 14:38:18.509 ERROR 604 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
ÉCHEC DE L'APPLICATION
***************************
Description :
Le bean 'scopedTarget.oauth2ClientContext', défini dans la définition de Bean du fichier de configuration de chemin de classe [org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2RestOperationsConfiguration$SessionScopedConfiguration$ClientContextConfiguration.class], n'a pas pu être enregistré. Un bean portant ce nom a déjà été défini dans le fichier de configuration de chemin de classe [org/springframework/security/oauth2/config/annotation/web/configuration/OAuth2ClientConfiguration$OAuth2ClientContextConfiguration.class] et le remplacement est désactivé.
Action :
Envisagez de renommer l'un des beans ou d'activer le remplacement en définissant spring.main.allow-bean-definition-overriding=true
Dans les deux cas, il s'agit d'un problème de doublon de bean ou autre.
Mes dépendances POM sont les suivantes :
org.springframework.boot
spring-boot-starter-parent
2.0.3.RELEASE
UTF-8
UTF-8
1.8
Finchley.BUILD-SNAPSHOT
true
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-data-jpa
org.springframework.boot
spring-boot-starter-security
org.springframework.cloud
spring-cloud-starter-config
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
spring-cloud-starter-oauth2
org.postgresql
postgresql
runtime
javax.servlet
javax.servlet-api
javax.servlet
jstl
org.springframework.security
spring-security-taglibs
org.apache.tomcat.embed
tomcat-embed-jasper
provided
et la configuration :
server:
error:
include-stacktrace: always
whitelabel:
enabled: false
servlet:
session:
cookie:
name: HYDRASSESSION
port: 36205
management:
endpoints:
web:
exposure:
include: "*"
security:
basic:
enabled: false
oauth2:
client:
clientId: atlas
clientSecret: secret
accessTokenUri: http://myserverip:36202/oauth/token
userAuthorizationUri: http://myserverip:36202/oauth/authorize
resource:
userInfoUri: http://myserverip:36202/user/me
spring:
jpa:
properties:
hibernate:
temp:
use_jdbc_metadata_defaults: false
hibernate:
ddl-auto: validate
application:
name: atlas
datasource:
password: admin
username: postgres
url: jdbc:postgresql://myserverip:36211/atlas?ApplicationName=Atlas
guardiao:
logout:
path: http://myserverip:36202/exit
Tout fonctionne bien lorsque j'utilise 2.0.3.RELEASE
, mais je reçois une erreur en essayant de me connecter à myserver:36202/oauth/authorize?client_id=
: le navigateur signale ERR_TOO_MANY_REDIRECTS
mais je n'ai aucune erreur dans la console. Quoi qu'il en soit... ma question est : comment puis-je mettre à jour mon Spring Boot vers 2.1.0.BUILD-SNAPSHOT ?
1 votes
Pourquoi voudriez-vous utiliser la version 2.1? Ce n'est pas finalisé avant environ 2 à 3 mois? Au lieu de cela, corrigez le problème réel, qui ne sera pas résolu simplement en mettant à niveau Spring Boot (et tout le reste vers les versions nocturnes).
0 votes
Tu as raison. Je ne devrais pas faire ça. En réalité... le vrai problème était le
clientSecret: secret
.... désolé.0 votes
Au fait... en pensant à l'avenir, j'ai peur de rencontrer ce problème de toute façon à l'avenir lorsque j'aurai besoin de le mettre à jour. Savez-vous ce qui a été modifié?
3 votes
C'est toujours un problème maintenant que la version 2.1 est sortie aujourd'hui. Avez-vous déjà trouvé une solution ?
1 votes
A pu résoudre le premier problème lié à la source de données en mettant à jour la version de Spring Cloud en Greenwich.M1, mais la deuxième exception persiste toujours.
2 votes
Une solution de contournement consiste à ajouter ce qui suit dans application.yml
spring.main.allow-bean-definition-overriding: true
2 votes
ScopedTarget.oauth2ClientContext l'erreur a disparu après la mise à jour de cette dépendance compile group: 'org.springframework.security.oauth.boot', name: 'spring-security-oauth2-autoconfigure', version: '2.1.0.RELEASE'
0 votes
@checketts, avez-vous le même problème. Avez-vous trouvé une solution?
0 votes
Fait face au même problème aujourd'hui. Pour moi, cela a été causé par la présence de dépendances Spring Cloud apportées par le starter OpenFeign.
0 votes
Règle d'or - ne jamais se fier aux versions instantanées.
0 votes
@Derp, alors quelle était la solution s'il vous plaît?
0 votes
@JarrodRoberson vient de vérifier mon pom : j'ai utilisé et j'ai épinglé la version de Spring Cloud à
Finchley.SR2