spring-social-twitter implementiert das Twitter-Login und führt ein Beispiel [Blog] ein (https://geowarin.github.io/social-login-with-spring/). ), Also blieb ich stecken, als ich eine Kopie machte.
Erstens konnte ich kein Beispiel für spring-social-twitter + Spring Boot-Login finden. Ich habe mehrere davon ausprobiert, bis ich zu diesem Beispiel kam und es nicht funktionierte, also habe ich mich gefragt, ob das Beispiel falsch war. Nach ein paar Stunden Kampf konnte ich es lösen, also werde ich über den Prozess schreiben.
In ProviderSignInUtils
ist ein Fehler aufgetreten, der im Screenshot rot angezeigt wird.
Die Fehlermeldung lautet
[Java] The constructor ProviderSignInUtils(ConnectionFactoryLocator, UsersConnectionRepository) is undefined
Es scheint, dass es ausgegeben wird und nicht definiert ist. Wird nicht versehentlich auf die richtige Bibliothek verwiesen? Und, Ist ein solcher Konstruktor nicht definiert? Ich überprüfte.
Anscheinend ist der Import im Vergleich zum Beispiel [Referenz](https://docs.spring.io/autorepo/docs/spring-social/1.1.4.RELEASE/apidocs/org/springframework/social/connect/web/ProviderSignInUtils korrekt Der gleiche Konstruktor ist in .html definiert.
Constructor and Description |
---|
ProviderSignInUtils(ConnectionFactoryLocator connectionFactoryLocator, UsersConnectionRepository connectionRepository) |
Ich kann nichts benutzen! Ich verstehe nicht, was es bedeutet. .. .. .. .. Ist der Editor schlecht? Ich dachte, ich würde es mit Eclipse versuchen. Während ich verschiedene Probleme hatte, bemerkte ich, dass ich, wenn ich mit der rechten Maustaste auf den Konstruktor klicke, zur Definitionsquelle gehen kann, und wenn ich es versuche ...
Die Referenzquelle von ProviderSignInUtils
ist etwas anders!
Die Referenzquelle, bei der der Fehler auftritt, befindet sich auf der linken Seite des Bildschirms. Der Editor war nicht falsch, weil er nicht definiert war. (Ich dachte auch ...)
In der Version scheint es, dass das Beispiel 2014 verwendet und ich 2015 verwende.
spring-social-twitter ist in Maven definiert und verwendet Release 1.1.2.
<dependency> <groupId>org.springframework.social</groupId> <artifactId>spring-social-twitter</artifactId> <version>1.1.2.RELEASE</version> </dependency>
Es scheint, dass der Probengradle verwendet wird und es ist wie folgt. Ich schreibe keine Veröffentlichung namens gradle. Ich kenne die Version nicht.
dependencies { compile('org.springframework.boot:spring-boot-starter-social-twitter') }
Ich werde es vorerst auf die neueste Version aktualisieren Offizielle Seite von spring-social-twitter, Aber ich kann die Beschreibung nicht finden Selbst auf der Website, auf der ich häufig MVN Repository verwende, ist 1.1.2 in der neuesten Version nicht enthalten, aber nur einen Schritt entfernt. Es war 2 Uhr und es war das Limit für morgen als Wochentag, also hörte ich auf.
Auf der offiziellen Seite von spring-social-twitter heißt es übrigens, dass 1.1.0 die neueste Version ist. Was ist passiert!
Am nächsten Tag, als ich es am Ende der Arbeit nachgeschlagen habe, bin ich auf einer Seite mit der neuesten Version auf einen Schlag angekommen ist dieselbe Site wie am Vortag. Wenn ich mit der Abfrage "spring social twitter maven" suche, wird die Seite mit nur der alten Version als Suchergebnis angezeigt. Durch Eingabe der Schlüsselwörter "spring boot social twitter maven" und boot wird die neueste Seite nun als Suchergebnis angezeigt!
Da ich der Google-Suche vollständig vertraut habe, ist es unwahrscheinlich, dass Websites, die in der ersteren nicht angezeigt werden, in der letzteren angezeigt werden ... Dies ist die Zeit, in der die Suchfähigkeit wichtig ist.
Das Problem ist behoben, wenn ich schlafe! Sauber! !!
Recommended Posts