繁体   English   中英

Spring MVC REST服务-Maven嵌入式Jetty提供404

[英]Spring MVC REST service - maven embedded Jetty gives 404

我创建了一个Spring MVC Web应用程序,该应用程序仅提供静态服务(以及默认的欢迎页面,用于手动测试是否正确部署)。

我也有一些集成测试,使用Rest Assured测试我的REST服务。 当然,问题在于这些测试是在构建时运行的,但是此时Webapp尚未在线,因此这些测试将始终失败。 这意味着可以使用嵌入式Jetty服务器来解决。 因此,我在pom.xml中添加了以下内容:

<build>
    <finalName>WebApp</finalName>
    </plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.26</version>
            <configuration>
                <stopKey>STOP</stopKey>
                <stopPort>8005</stopPort>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <webApp>
                    <contextPath>/WebApp</contextPath>
                </webApp>
            </configuration>
            <executions>
                <execution>
                    <id>start-jetty</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <stopKey>STOP</stopKey>
                        <stopPort>8005</stopPort>
                        <scanIntervalSeconds>0</scanIntervalSeconds>
                        <daemon>true</daemon>
                    </configuration>
                </execution>
                <execution>
                    <id>stop-jetty</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

当我运行命令mvn jetty:run码头服务器启动时,当我将浏览器指向http://localhost:8080/WebApp ,可以看到我的欢迎页面,但是当我尝试访问我的任何REST调用时,都会得到普通的404。

REST服务在部署到tomcat或glassfish服务器上时可以正常工作。

我使用的是基于Java的Spring MVC配置,仅带有REST的调度程序,因为没有“真实的”网页。

谁能对我在这里做错的事情有所了解? 仅当部署到嵌入式Jetty时,REST服务才会提供404。

提前致谢!

好消息! 我能够通过改变来解决这个问题

<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.26</version>

<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.16.v20140903</version>

因此,该插件的较新版本解决了这个问题(可能与基于Java的配置支持有关)。 希望这对其他人有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM