当前位置: 首页 > 知识库问答 >
问题:

运行tomcat而不是Netty的Spring WebFlux应用程序

佴博实
2023-03-14

我正在运行一个spring boot WebFlux应用程序,通常该应用程序运行在Netty嵌入式服务器之上。相反,我正在运行一个tomcat实例,我试图从我的pom中排除tomcat,但仍然遇到同样的问题。

所以我想通过运行Netty而不是Tomcat来解决这个问题。

这是我的pom依赖项:

<dependencies>

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

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

    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
    </dependency>

    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct-processor</artifactId>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
    </dependency>

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

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

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

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

共有2个答案

谷梁镜
2023-03-14

Springfox 2.9.2版本不支持webflow。

包含webflux支持的Springfox 3.0.0以快照形式提供,但很快就会发布。

你可以在这里读到更多。

https://github.com/springfox/springfox/issues/2699

丌官利
2023-03-14

正如托马斯所说,springfox不支持webflux。

我建议使用springDoc提供的OpenApi实现,而不是SpringFox,它仍然提供相同的UI,使用swagger 3并且还支持webflow。

    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-webflux-ui</artifactId>
        <version>1.2.33</version>
    </dependency>
 类似资料:
  • 我正在开始一门Android Studio课程,但我在运行代码时遇到了问题:事实上,当我使用Nexus S API 22点击“Run app”时,启动的是我的旧项目,而不是我的新项目。我有Android Studio 3.5 我试图重启Android Studio并启动全新的项目,但没有成功。 谢谢你的帮助。

  • 我正在尝试使用Android Studio3.6.3和我的手机制作一个应用程序来测试它。我遇到了一个问题,我认为卸载这个应用程序是个好主意,但现在,Android studio不知道我的手机上不存在这个应用程序,它试图运行文件。错误是: 05/27 21:03:30:在小米红米Note 7上启动“MainActivity”。 启动活动时出错 我怎样才能欺骗它重新安装正确的应用程序?

  • 每当我尝试运行我的应用程序时,屏幕截图中的窗口就会弹出。声明找不到默认活动,因此我无法部署我的应用程序: 我的代码清单文件 这就是我点击运行时得到的窗口- 我的代码的Gradle文件:

  • 我有一个JavaFX应用程序,它调用一些JNI代码,使用预加载程序jar,并使用JDK1.7编译。现在,当我使用JRE7在另一台计算机上运行jar时,通过: 双击jar:它启动,但无法加载包含库的JNI代码,因此被卡住。 有人能告诉我这三种情况有什么不同吗?

  • 我有个问题希望你能帮我解决。 有时,我的应用程序会出现一些错误,并继续在服务器上运行,直到我手动停止服务器并重新启动。

  • 例如。 这应该运行一个简单的hello world应用程序,摘自oracle文档。然而,当我‘运行’这个代码,没有窗口打开。取而代之的是打开一个名为“Java”的应用程序。看起来'java'只是一个位于'jdk1.8.0_25.jdk/contents/home/bin'中的'UNIX可执行文件‘。应用程序'java'绝对不显示任何东西,并且在没有强制退出的情况下无法关闭。 我在MacBook上运