[JAVA] Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war

Einführung

Das Projekt, das ich ursprünglich erstellt habe, war Spring Boot 1.3.3, Da es im April eine Spring Framework-Sicherheitsanfälligkeit gab, Wir haben uns für ein Upgrade auf Spring Boot 1.5.12 entschieden, was dem entspricht.

Natürlich hat es nicht gereicht, die Version einfach mit pom.xml umzuschreiben ... Die zu diesem Zeitpunkt aufgetretenen Probleme und deren Lösung sind nachstehend aufgeführt.

Fehler beim Kompilieren des Testcodes

Ich habe die folgenden zwei Anmerkungen im Testcode verwendet: Mit dem Versions-Upgrade wurde ich wütend, dass ich es nicht finden konnte.

@SpringApplicationConfiguration(classes=MyConfig.class)
@WebIntegrationTest

Nach der Untersuchung wird gesagt, dass beide stattdessen auf der folgenden Seite "@ SpringBootTest" verwenden. https://stackoverflow.com/questions/42395225/springapplicationconfiguration-not-found-erroneous-spring-boot-starter-test-con

From @SpringApplicationConfiguration(classes=MyConfig.class) to @SpringBootTest(classes=MyConfig.class) From @WebIntegrationTest to @SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT) (or RANDOM_PORT)

Ich habe diesmal beide verwendet, also habe ich es wie folgt umgeschrieben.

@SpringBootTest(classes=MyConfig.class, webEnvironment=WebEnvironment.RANDOM_PORT)



 Mit dem oben genannten wurde der Fehler des Testcodes behoben.

# Schnittstelle nicht gefunden Fehler
 Ich habe die EmbeddedServletContainerCustomizer-Schnittstelle importiert, um den Fehlerbildschirm anzuzeigen.
 Wenn ich es nach dem Upgrade baue, werde ich wütend, dass ich es nicht finden kann.
 Ja wirklich? Ich habe nach einer Alternative wie dem obigen Testcode gesucht, aber ich konnte sie nicht finden ...

 Ist es wirklich nicht da? Ich dachte, und als ich die Hierarchie unter `` `spring-boot-1.5.12.RELEASE.jar``` durchsuchte,
```embeddedservletcontainercustomizer```Die Schnittstellendatei selbst war vorhanden.

Wenn ich versuche, den Inhalt darauf anzuzeigen, tritt der folgende Fehler auf und ich kann den Inhalt nicht sehen.```
java.util.zip.ZipException: invalid LOC header (bad signature)

Als ich es nachgeschlagen habe, scheint es, dass die Ursache darin liegt, dass die Version der JAR-Datei falsch ist. Um dieses Problem zu umgehen, löschen Sie den folgenden Maven-Repository-Ordner und starten Sie STS neu.

C: \ Benutzer \ [Benutzername] \ .m2 \ Repository

Damit ist die Behandlung des nicht gefundenen Schnittstellenfehlers abgeschlossen.

Fehler beim Ausführen des Projekts

Abgesehen von den beiden oben genannten Entsprechungen Als ich darüber nachdachte, das Projekt nach dem Versions-Upgrade auszuführen, Der folgende verzweifelte Fehler tritt auf.

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
    at jp.co.ysk.pepper.qlip.App.main(App.java:12)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 1 more

Ich habe einige Nachforschungen angestellt, aber ich kenne die Grundursache nicht. Dieser Fehler wurde vorerst auch behoben, indem die beiden Kompilierungsfehler beseitigt wurden.

Ich fühle mich ein wenig unwohl, aber ... das war's.

Recommended Posts

Was ich beim Update auf Spring Boot 1.5.12 behoben habe ・ Wovon ich süchtig war
Wovon ich süchtig war, als ich eine Spring Boot-Anwendung mit VS Code entwickelte
Wovon ich bei der Einführung der JNI-Bibliothek süchtig war
Beachten Sie, dass ich süchtig nach Stapelverarbeitung mit Spring Boot war
Wovon ich süchtig war, als ich die Google-Authentifizierung mit Rails implementierte
Ich war süchtig danach, sbt zu starten
Wovon ich süchtig war, als ich rspec auf Schienen benutzte
Eine Seite, die leicht zu verstehen war, als ich anfing, Spring Boot zu lernen
Was ich mit der Redmine REST API süchtig gemacht habe
Die Geschichte, nach der ich beim Einrichten von STS süchtig war
[Mac OS] Spring Boot CLI wurde bei der Installation durch Ruby gestört
Ein Hinweis, als ich süchtig danach war, Ubuntu auf WSL1 in WSL2 zu konvertieren
Was ich bei der Migration von der Spring Boot 1.4-Serie zur 2.0-Serie getan habe
Was ich bei der Migration von der Spring Boot 1.5-Serie zur 2.0-Serie getan habe
Ich war süchtig danach, in @ SpringApplicationConfiguration-> @SpringBootTest umzuschreiben
Die Geschichte des Übergangs von Spring Boot 1.5 zu 2.1
Ich war süchtig nach der Rollmethode
Änderungen bei der Migration von Spring Boot 1.5 auf Spring Boot 2.0
Änderungen bei der Migration von Spring Boot 2.0 zu Spring Boot 2.2
Ich war süchtig nach dem Spring-Batch-Test
[Rails] Ich war süchtig nach den Nginx-Einstellungen, als ich Action Cable verwendete.
Eine Geschichte, der ich beim Testen der API mit MockMVC verfallen war
Ich war süchtig danach, MySQL 8.0 mit einem 5.7-Gefühl zu berühren. My.cnf-Konfigurationsproblem
Probleme, denen ich beim Erstellen der Digdag-Umgebung mit Docker verfallen war
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
Ich war süchtig danach, onActivityResult () mit DialogFragment zu machen
Was ich getan habe, als ich Java zu Kotlin konvertiert habe
Ich wollte Spring Boot in einem Multiprojekt gradle
Wenn ich die Internationalisierung mit Spring Boot unterstütze, bin ich süchtig danach, kein bestimmtes Gebietsschema zu übersetzen
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
Ich war süchtig nach der Aufzeichnung des zugehörigen Modells
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
Eine Geschichte, nach der ich süchtig war, als ich einen Schlüssel bekam, der automatisch auf MyBatis ausprobiert wurde
Versuchen Sie Spring Boot von 0 bis 100.
Ich wusste, was Reflexion war
Ich war süchtig danach, default_url_options mit der Einführung von Rails zu setzen
Ich war süchtig danach, die Update-Anweisung in MyBatis zu wiederholen
Einführung in Spring Boot ~ ~ DI ~
Einführung in Spring Boot ② ~ AOP ~
Ich war süchtig nach Laradock + VSCode + xdebug
Einführung in Spring Boot Teil 1
Ich war seltsamerweise süchtig danach, Javas Stream-API mit Scala zu verwenden
Ich habe versucht, mit Swagger mit Spring Boot zu beginnen
Ich war süchtig nach WSl, als ich versuchte, mit Vue.js eine Entwicklungsumgebung für Android-Anwendungen zu erstellen
[Rails] So lösen Sie ActiveSupport :: MessageVerifier :: InvalidSignature, von dem ich bei der Einführung des Twitter-Logins abhängig war [ActiveStorage]
Ich möchte die Methode des Controllers kennen, bei der die Ausnahme im ExceptionHandler von Spring Boot ausgelöst wurde
[Circle CI] Eine Geschichte, der ich bei Start Building verfallen war
02. Ich habe eine API erstellt, um eine Verbindung von Spring Boot zu MySQL (My Batis) herzustellen.
Über die Sache, dass ich süchtig danach war, wie man Hashmap benutzt
Ich möchte die Standardfehlermeldung von Spring Boot steuern
Ich war süchtig nach der API-Version min23 von registerTorchCallback
Woran ich dachte, als ich anfing, von Java nach Kotlin zu migrieren
Memorandum beim Spring Boot 1.5.10 → Spring Boot 2.0.0
Ich ging zum JJUG CCC 2019 Spring
So stellen Sie Spring Boot + PostgreSQL ein
Was ist @Autowired im Spring Boot?