2017-11-05 1 views
1

Ich verfolge das Frühjahr Reaktive Beispiel aus dem Link: https://github.com/mohitsinha/tutorials/blob/master/spring-boot-webflux-reactive-mongo/build.gradle. Das gleiche Projekt, das ich mit dem Maven entwickle, aber ich sehe unten keine Abhängigkeit von Maven. Was soll ich verwenden?Nicht zu sehen, Frühjahr-Boot-Starter-Daten-Mongodb-reaktive und Spring-Boot-Starter-Webflux-Abhängigkeit in Maven

compile('org.springframework.boot:spring-boot-starter-data-mongodb-reactive') 

Ich erhalte die folgenden Fehler:

[ERROR] The build could not read 1 project -> [Help 1] 
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs: 
[ERROR] 'dependencies.dependency.version' for org.springframework.security:spring-security-webflux:jar is missing. @ line 48, column 15 

     at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:422) 
     at org.apache.maven.graph.DefaultGraphBuilder.collectProjects(DefaultGraphBuilder.java:419) 
     at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor(DefaultGraphBuilder.java:410) 
     at org.apache.maven.graph.DefaultGraphBuilder.build(DefaultGraphBuilder.java:83) 
     at org.apache.maven.DefaultMaven.buildGraph(DefaultMaven.java:491) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:219) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 

und hier ist die pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.spring.example</groupId> 
    <artifactId>spring-boot-webflux-reactive-mongo</artifactId> 
    <version>1.0</version> 
    <packaging>jar</packaging> 

    <name>spring-boot-webflux-reactive-mongo</name> 
    <description></description> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.8.RELEASE</version> 
     <relativePath /> <!-- lookup parent from repository --> 
    </parent> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-core</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-webflux</artifactId> 
     </dependency> 

     <dependency> 
      <groupId>de.flapdoodle.embed</groupId> 
      <artifactId>de.flapdoodle.embed.mongo</artifactId> 
      <scope>test</scope> 
     </dependency> 

     <dependency> 
      <groupId>io.projectreactor</groupId> 
      <artifactId>reactor-test</artifactId> 
      <version>3.1.1.RELEASE</version> 
      <scope>test</scope> 
     </dependency> 


     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

Grundsätzlich Maven Abhängigkeit für org.springframework.data.mongodb.repository.ReactiveMongoRepository

Antwort

2

Ich bin nicht 100% sicher, aber es sieht so aus, als ob Sie Spring Boot verwenden 1.5.8.RELEASE Und der Link verwendet 2.0.0.M2, aber nach mvnrepository gibt es keine Spring Boot WebFlux Starter für 1.5.8.RELEASE Version. Als Ergebnis werden Sie

version for org.springframework.security:spring-security-webflux:jar is missing 

Sie bekommen können eine version manuell hinzufügen, aber dies wahrscheinlich ungültige Konfigurationsprobleme verursachen können, so aktualisieren Sie einfach Ihre pom Boot 2.0.0.M2 oder höher

+0

Hey zu springen, ich bin nicht in der Lage zu Geben Sie Spring-Start-Starter-Parent 2.0.0.M2 oder höher, weil ich einen Fehler erhalte. Ich muss dies mit dem 1.5.8.RELEASE arbeiten. Jetzt habe ich nur den folgenden Fehler, "Die Import org.springframework.web.reactive.function.server.RouterFunctions.nest kann nicht gelöst werden" – Prateek

+0

@Prateek müssen Sie für das fehlende Paket https://projects.spring.io suchen/spring-data-mongodb/und es in pom einschließen. Aber ich bin mir nicht einmal sicher, dass das am Ende funktionieren wird, denn die WebFlux-Unterstützung ist tatsächlich "Spring 5.0.0" -Feature und Sie versuchen, in "Spring Boot 1.5.8" zu integrieren, die 'Spring 4.3.12 verwendet. "Es gibt eine große Chance, dass Sie alles selbst implementieren müssen." – varren

+0

@Prateek Ich denke, Webflux vor 5.0 war Spring Reactive Web, also sollten Sie wahrscheinlich in diese Richtung schauen. Werfen Sie einen Blick auf https://spring.io/blog/2016/06/13/notes-on-reactive-programming-part-i-writing-some-code und Teil 3 https://spring.io/blog/2016/07/20/Hinweise-auf-reaktive-Programmierung-Teil-iii-a-einfache-http-Server-Anwendung – varren

Verwandte Themen