gpt4 book ai didi

web-applications - 获取 maven-jetty-plugin 以部署-war 并同时提供外部静态内容

转载 作者:行者123 更新时间:2023-12-01 04:05:12 25 4
gpt4 key购买 nike

我正在使用 maven-jetty-plugin 为 Web 应用程序编写集成测试。我在预集成测试阶段使用 deploy-war 目标。 Web 应用程序依赖于另一个 Web 应用程序,我想通过提供来自同一个 jetty 实例的静态内容来模拟。

这是我的 jetty 配置的相关部分:

<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy-war</goal>
</goals>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>${jetty.port}</port>
</connector>
</connectors>
<daemon>true</daemon>
<webApp>${build.directory}/motown2-war.war</webApp>
<webAppConfig>
<extraClasspath>${basedir}/target/classes/;${basedir}/target/test-classes</extraClasspath>
<contextPath>/${context.path}</contextPath>
</webAppConfig>
<contextHandlers>
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
<contextPath>/other</contextPath>
<resourceBase>/opt/data</resourceBase>
</contextHandler>
</contextHandlers>
</configuration>
</execution>

我基于这个配置
http://blog.markfeeney.com/2009/12/scala-lift-jetty-6-static-content-and.html ,
但是上下文处理程序的配置似乎被忽略了。我不能
在日志文件中找到这一点,jetty 返回 404 而不是静态
内容,Web 应用程序本身正在运行。

我错过了什么?

最佳答案

我想到了:

resourceHandlers 配置仅适用于 jetty:run 目标,所以我现在
在我的测试项目中使用一个空的 webapp,它将 webapp 覆盖到
进行测试:

<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<port>${jetty.port}</port>
</connector>
</connectors>
<daemon>true</daemon>
<webApp>${build.directory}/motown2-war.war</webApp>
<webAppConfig>
<extraClasspath>${basedir}/target/classes/;${basedir}/target/test-classes</extraClasspath>
<contextPath>/${context.path}</contextPath>
<baseResource implementation="org.mortbay.resource.ResourceCollection">
<resourcesAsCSV>../motown2-war/src/main/webapp,src/main/webapp</resourcesAsCSV>
</baseResource>
</webAppConfig>
<contextHandlers>
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
<contextPath>/other</contextPath>
<resourceBase>/opt/data</resourceBase>
</contextHandler>
</contextHandlers>
</configuration>
</execution>

关于web-applications - 获取 maven-jetty-plugin 以部署-war 并同时提供外部静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9926741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com